我有一个简单的 CSV 文件,它使用 | (管道)作为引号字符。将我的 Rails 应用程序从 Ruby 1.9.2 升级到 1.9.3 后,我收到“CSV::MalformedCSVError: Missing or stray quote in line 1”错误。
如果我弹出打开 vim 并替换 | 使用常规引号、单引号甚至“=”,文件可以正常工作,但是 | 和 * 导致错误。有人对可能导致这种情况的原因有任何想法吗?这是一个可以重现错误的简单单行:
@csv = CSV.read("public/sample_file.csv", {quote_char: '|', headers: false})
也在 Ruby 2.0 和 irb w/out loading rails 中重现了这一点。
编辑:这里是 CSV 中的一些示例行
|076N102 |,|CARD |,| 1|,|NEW|,|PCS |
|07-1801 |,|BASE |,| 18|,|NEW|,|PCS |