Clojure CSV在报价中解析逗号

时间:2015-03-20 06:14:59

标签: csv clojure

我有一个CSV文件如下(编辑:注意第一个逗号后面的空格)

0, "a,a,a,a"
1, "b,b,b,b"
2, "c,c,c,c"

我希望将每一行解析为2个字符串的向量,即

[0 "a,a,a,a"]
[1 "b,b,b,b"]
[2 "c,c,c,c"]

以这种方式保留引号中的逗号。

但是,data.csv和clojure-csv都提供了5个字符串的向量:

[0 "a a a a"]
[1 "b b b b"]
[2 "c c c c"]

我尝试了不同的解析器选项值(:quote-char“),但仍然没有运气。

这是我的代码:

(with-open [in-file (io/reader "myData.csv")]
  (doall 
    (map println
     (take 10 (parse-csv in-file)))))

1 个答案:

答案 0 :(得分:1)

clojure.data.csv

(:require [clojure.data.csv :as csv])
(csv/read-csv (slurp "myData.csv"))

它将生成输出:

(["0" "a,a,a,a"] ["1" "b,b,b,b"] ["2" "c,c,c,c"])