【发布时间】:2014-08-10 18:25:14
【问题描述】:
我需要导入/更新/导出包含以等号开头的字段的 CSV 文件。
...,="20042",...
从网上阅读来看,这是一个强制数字保持为字符串类型的 Excel 技巧(Excel 会看到数字并将其自动格式化为数字)。
Ruby 在这方面失败了:
ruby/1.9.1/csv.rb:1925:in `block (2 levels) in shift': Illegal quoting in line 1. (CSV::MalformedCSVError)
看起来很合理。
处理此问题的最佳方法是什么?预处理文件以删除 =?
这是一个完整的行示例:
"Product Code","Product Name","Retail Price","Tax Percentage","Option Name","Option Type"
="20042","Blossom Wall Art","245.00",="1","",""
【问题讨论】:
-
您希望数据如何格式化?我会在您的反馈后考虑。 :-)
-
你能给出至少 2 行吗?这样我就可以试试了..
-
你能提供一个完整的行,以便我们可以看到引用的真实情况吗?您与 CSV 解析器一起使用的选项也很有用。这可能和Importing CSV quoting error is driving me nuts 一样有问题。
-
我添加了一个完整的行示例。请注意,两次 2 字段以 = 开头。 CSV 库是否有帮助或在使用 CSV 库之前预解析整个文件的挂钩?