Hi, Am 14.05.2009 um 17:12 schrieb Daniel Lyons:
That would be wonderful. I have wrapped OpenCSV for my own purposes but would of course prefer not having another library dependency. My code wound up like this: (import 'java.io.FileReader 'au.com.bytecode.opencsv.CSVReader)) (defn read-csv [filename] (let [reader (CSVReader. (FileReader. filename))] (map vec (take-while identity (repeatedly #(.readNext reader))))))
I'm doing the same. I cannot judge the quality of OpenCVS but up to now I had no problems. I thought about using fnparse to build a clojure CSV parser, but I'm not sure how hard this would be. Let's see with what Stuart comes up. I built a function which reads the first row in the file as headers and creates a sequence of structures of the rest. (defn entry-seq [rdr] (let [hdrs (map keyword (.readNext rdr)) entry-s (apply create-struct hdrs) entry-seq (fn entry-seq [] (lazy-seq (when-let [entry (.readNext rdr)](cons (apply struct entry-s entry) (entry- seq)))))]
(entry-seq))) Sincerely Meikel
smime.p7s
Description: S/MIME cryptographic signature