CSV::MalformedCSVError: Illegal quoting in line 1 with SmarterCSV

CSV::MalformedCSVError: Illegal quoting in line 1 with SmarterCSV

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

CSV::MalformedCSVError: Illegal quoting in line 1

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

SmarterCSV.process(file_path)

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

我尝试使用 SmarterCSV 的一些选项来解决它,例如 -

:remove_empty_values, :remove_empty_hashes 等等,但都是徒劳。

我欢迎提出建议或重构以使这项工作正常进行?谢谢大家

这是因为您的文件中存在非法 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