我正在解析一个大的 csv 文件,我使用它的第一行作为记录的键。所以对于像这样的csv文件:
header1,header2
foo,bar
zoo,zip
我最终得到了一个惰性序列,例如:
({:header1 "foo" :header2 "bar"},
{:header1 "zoo" :header2 "zip"})
代码工作正常,但我不确定在下面的函数中我是否持有“行”的头部。
(defn csv-as-seq [file]
(let [rdr (clojure.java.io/reader file)]
(let [lines (line-seq rdr)
headers (parse-headers (first lines))]
(map (row-mapper headers) (rest lines)))))
有人可以澄清一下吗?