想象我们有一个以下的 CSV 文件
A,B,C
this is,"a badly" quoted, file
当我尝试用 clojure.data.csv/read-csv 解析这个文件时,我得到以下异常
{:type java.lang.Exception
:message "CSV error (unexpected character: )"
:at [clojure.data.csv$read_quoted_cell invokeStatic "csv.clj" 37]}
这个文件显然格式不正确,但我已经在现实生活中见过这样的文件,所以如果 read-csv 能够像这样处理引用部分之后的额外内容将是非常好的。
["this is" "a badly quoted" " file"]
这个建议的潜在问题
如果引用内有分隔符,这将变得难以解释。例如:
this is,"a, badly" quoted, file
可能被解析为
["this is" "a, badly quoted " " file"]
或
["this is" "\"a" " badly\" quoted " " file"]
虽然第二种解释对我来说似乎不太可能,但我不确定在这种情况下“最佳努力”的解析策略是什么。