我在尝试使用SmarterCSV处理csv文件时遇到问题。 我得到的错误是 -
CSV::MalformedCSVError: Illegal quoting in line 1
这是我用来处理csv文件的代码
SmarterCSV.process(file_path)
我也遇到了类似的问题。但是我找不到合适的地方可以帮助我。
我尝试使用SmarterCSV的某些选项解决此问题,例如 -
:remove_empty_values,:remove_empty_hashes 等但是徒劳无功。
我欢迎建议或重构这项工作?谢谢大家
答案 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