【发布时间】:2017-09-14 00:28:48
【问题描述】:
我有 CSV 文件,其中包含如下行:
col1,col "two",col3
所以我得到Illegal quoting 错误并通过设置:quote_char => "\x00" 来修复它
["col1", "col\"two\"", "col3"]
但是有一行像
col1,col2,"col,3"
稍后在该文件中
["col1", "col2", "\"col", "3\""]
然后我逐行读取文件并调用 parse_csv 包裹在块中。设置:quote_char => "\""、rescueCSV::MalformedCSVError 异常,并为特定行设置:quote_char => "\x00" 和retry
一切正常,直到我们得到线
col1,col "two","col,3"
在这种情况下,它来自异常rescues,设置:quote_char => "\x00",结果是
["col1", "col\"two\"", "\"col", "3\""]
Apple Numbers 能够绝对正确地打开该文件。
parse_csv 是否有任何设置可以在不以某种方式预处理字符串的情况下处理此问题?
UPD 我显示文件中的 CSV 行,以及 p 打印的结果(数组)。我的字符串中没有实际的\"。
【问题讨论】: