【问题标题】:csv import using phpMyAdmin - handling extraneous comma使用 phpMyAdmin 导入 csv - 处理多余的逗号
【发布时间】:2017-07-11 20:35:18
【问题描述】:

所以我的表格有 5 列,我的 CSV 文件有 5 个字段,但末尾有一个逗号,如下所示:

123, abc, xyz, 321, 456,

这会导致问题。我不断收到Invalid column count in CSV input on line

在导入页面上,有一个字段Lines terminated with:,我尝试在其中使用\r\n,,当我执行LOAD DATA LOCAL INFILE(使用LINES TERMINATED BY ',\r\n')时该字段有效,但这会导致Invalid parameter for CSV import: Lines terminated with

有没有办法处理 CSV 行末尾的多余逗号?

【问题讨论】:

  • 您是使用 Linux、Windows 还是 Mac 作为您尝试上传的计算机?
  • 这是一台 Windows 计算机
  • 我发布了一个解决方案,其中包含一个您可能会发现有用的 PowerShell 脚本。

标签: mysql phpmyadmin


【解决方案1】:

如何使用 ALTER TABLE 添加一个备用列仅用于导入,使其允许空值。然后在导入后使用 ALTER TABLE 删除额外的临时列。

Documentation

【讨论】:

    【解决方案2】:

    CSV 文件只是具有某种结构的文本文件。这意味着基本的查找和替换将起作用。假设这不是一个大文件,您可以使用 VIM/Notepad++/Sublime Text 打开它并进行查找和替换。

    基本上用\n 替换,\n(或,\r\n,取决于它有什么)。如果文件太大而无法在标准编辑器中打开,您可能需要使用命令行界面。

    在 Linux 和 Mac 计算机上,您可以使用 sed 来执行此操作。

    sed -i 's/,\n/\n/g' file.txt
    

    在 Windows 计算机上,您可以使用 PowerShell 执行相同的操作。

    (Get-Content file.txt -Raw).replace(",`r`n", [System.Environment]::NewLine) | Set-Content file2.txt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-26
      • 1970-01-01
      • 2014-02-27
      • 1970-01-01
      • 2017-10-22
      • 2015-11-29
      • 2016-04-15
      • 2011-05-13
      相关资源
      最近更新 更多