我在尝试使用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