想象我们有一个以下的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"]
虽然第二种解释在我看来不太可能,但我不确定在这种情况下哪种“最佳尝试”的解析策略是最好的