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