【问题标题】:Rails CSV Upload ErrorsRails CSV 上传错误
【发布时间】:2016-06-14 22:08:24
【问题描述】:

我正在使用active_admin_import 将 CSV 文件导入 active_admin。上传文件时,我不断收到“CSV::MalformedCSVError”,指出我在第 xx 行有一个未闭合的带引号的字段。

我检查了那条线,以及那条线周围的每一行,它附近的任何地方都没有空引号。当我尝试删除该行时,错误然后更改为“谎言 415 上的未闭合引用字段,依此类推。

这是我的 active_admin_import 代码的样子:

active_admin_import validate: false,
   on_duplicate_key_update: [:description, :price, :notes],
   ignore: [:name, :created_at, :updated_at]

【问题讨论】:

  • 尝试检查您要导入的 CSV 文件,由于格式更改而发生此错误
  • @uzaif 我一遍又一遍地检查 CSV 文件,我什至删除了引发错误的行。它不会将单元格数据作为双引号字符串上传吗?我尝试删除单引号的实例(例如 linens'n 事物)并尝试转义引号( \' )但没有运气
  • 尝试任何在线 CSV 文件检查器,它会告诉您问题出在哪里csvlint.io
  • 我刚刚通过 linter 运行它,它显示零错误
  • 检查文件编码。如果它以 US-ASCII 编码进行编码,则可能会引发此错误。如果是这种情况,您可以在文本编辑器中打开它并使用正确的编码重新保存它。从 Excel 导出 CSV 文件时有时会发生这种情况。

标签: ruby-on-rails rubygems activeadmin


【解决方案1】:

如果有人偶然发现这一点,我意识到在将我的 CSV 转换为 JSON 时,我的字符串中出现了很多“\r\n”(回车和换行),而这些字符串不会显示在 CSV 文件中。我只是通过运行摆脱了它们

mystr.gsub(/\r\n/," "))

它消除了这些错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    相关资源
    最近更新 更多