假设我们有一个以下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"]
虽然第二种解释对我来说似乎不太可能,但我不确定在这种情况下“最佳努力”的解释策略是什么