3

エスケープされたコンマを使用し、このようなフィールドを引用符なしで clojure の csv 文字列を解析しようとしています

"test1\,test2,test3"

私はこのライブラリを試しました:

  • [org.clojure/data.csv "0.1.2"]
  • [cljcsv "1.3.1"]
  • [clojure-csv/clojure-csv "2.0.0-alpha1"]

しかし、["test1,test2" "test3"] 誰かがこれを行うことができるライブラリを知っていますか?

前もって感謝します

4

2 に答える 2

7

CSVデータを正確に解析しているわけではありませんが、規則から派生しています(「標準」とは書いていないことに注意してください)。

CSV では、カンマはエスケープされません。これは、C/C++/Java 文字列エスケープからデータにリークするものです。普通のCSVだとこんな感じで書きます

"a,b",c

どの clojure-csv がサポートするか。

user=> (csv/parse-csv (str "\"a,b\",c")) 
(["a,b" "c"])

このケースを処理するには、おそらく独自のパーサーを作成するか、前述のライブラリのいずれかを拡張する必要があります。

于 2013-04-25T14:16:35.470 に答える