CSV :: MalformedCSVError:第1行中使用SmarterCSV进行非法引用

时间:2015-04-18 12:43:16

标签: csv smartercsv

我在尝试使用SmarterCSV处理csv文件时遇到问题。 我得到的错误是 -

CSV::MalformedCSVError: Illegal quoting in line 1

这是我用来处理csv文件的代码

SmarterCSV.process(file_path)

我也遇到了类似的问题。但是我找不到合适的地方可以帮助我。

我尝试使用SmarterCSV的某些选项解决此问题,例如 -

:remove_empty_values,:remove_empty_hashes 等但是徒劳无功。

我欢迎建议或重构这项工作?谢谢大家

1 个答案:

答案 0 :(得分:2)

这是由于文件中存在非法的Unicode字符。

您可以使用

处理带有Unicode字符的文件
f = File.open(file_path, "r:bom|utf-8"); data = SmarterCSV.process(f); f.close

这里的数据将包含已解析的数据。

另请参阅官方文档:https://github.com/tilo/smarter_csv#notes-about-file-encodings