【问题标题】:CSV::MalformedCSVError: Illegal quoting in line 1 with SmarterCSVCSV::MalformedCSVError:使用 SmarterCSV 在第 1 行非法引用
【发布时间】:2015-04-19 14:37:39
【问题描述】:

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

CSV::MalformedCSVError: Illegal quoting in line 1

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

SmarterCSV.process(file_path)

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

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

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

我欢迎提出建议或重构以使其工作?谢谢大家

【问题讨论】:

    标签: csv smartercsv


    【解决方案1】:

    这是由于文件中存在非法 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

    【讨论】:

    • 谢谢,但我认为这不是读取大文件的好方法。大文件的读取方式是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 2016-09-13
    • 1970-01-01
    • 2015-05-31
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    相关资源
    最近更新 更多