第 1 行的 CSV 输入中的字段计数无效
Posted
技术标签:
【中文标题】第 1 行的 CSV 输入中的字段计数无效【英文标题】:Invalid field count in CSV input on line 1 【发布时间】:2011-09-04 09:39:34 【问题描述】:我正在尝试将 ODS 文件导出到 CSV,但是当我导入 phpmyadmin 时 - 我得到“第 1 行的 CSV 输入中的无效字段计数”。
文件(多于两行但方案相同):
"Administração da Guarda Nacional Republicana"
"Administração de Publicidade e Marketing"
表:
CREATE TABLE IF NOT EXISTS `profession` (
`id_profession` int(11) NOT NULL,
`profession` varchar(45) DEFAULT NULL,
`formation_area_id_formation_area` int(11) NOT NULL,
PRIMARY KEY (`id_profession`),
UNIQUE KEY `profession_UNIQUE` (`profession`),
KEY `fk_profession_formation_area1` (`formation_area_id_formation_area`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我从来没有做过类似的事情,可能我需要指定列。 csv 只有一列,表有三。在这种情况下,文件输入属于职业列
【问题讨论】:
很明显,数据格式错误,缺少必填字段。你不能导入它。 andrewodendaal.com/… 那么,我不能导入特定的列吗?必须是本例中的三个字段? 【参考方案1】:如果您希望将其导入该表,您有 2 个选择:
1) 在文件每一行的数据前后添加逗号,或
2) 删除表中的第一列和第三列,导入数据,然后将删除的 2 列添加回来。
【讨论】:
【参考方案2】:如果您使用 phpMyAdmin,那么您可以指定列名。登录所需数据库时:
-
选择要导入的表。
点击导入标签。
在导入文件格式下,选择CSV。
在列名中,写出您希望数据导入到的列的逗号分隔列表。
如果你喜欢 shell,你也可以使用 mysqlimport。
例如:
shell>mysqlimport --columns=column1,column2 dbname imptest.txt
【讨论】:
【参考方案3】:确保您上传的 csv 文件不是 excel 文件,然后按照以下步骤操作
1 导入
2 浏览您的 csv 文件。
3 使用 LOAD DATA(而不仅仅是 CSV)选择 CSV
4 将“字段终止于”从“;”更改到“,”
5 确保选中“使用 LOCAL 关键字”。
Click “Go”
【讨论】:
【参考方案4】:在 Excel 中,我将文件保存为“Microsoft Office Excel 逗号分隔值文件 (.csv)”
在 Phpmyadmin 中:
-
选择要导入表的数据库。
点击导入选项卡。
选择您的文件。将格式设置为 CSV
如果需要,请保留格式特定选项,除非勾选“文件的第一行包含表列名称”框
点击开始
然后您需要重命名该表(如果它是数据库中的第 5 个表,它将被称为“TABLE 5”)。所以选择表格并使用操作选项卡 -> “将表格重命名为:”
【讨论】:
【参考方案5】:转到导入选项卡
浏览 csv 文件。
在导入文件选项卡的格式上选择“CSV”
清单“忽略重复行”
将“字段终止于”从“;”更改到“,”
注意:你最好检查已经导入的数据。数据的第一行通常包含您导入到 csv 文件的表格中每一列的标题。导入csv文件后删除第一行
【讨论】:
【参考方案6】:你需要勾选“文件的第一行包含表列名(如果不勾选,第一行将成为数据的一部分)”,然后点击“GO”。
【讨论】:
以上是关于第 1 行的 CSV 输入中的字段计数无效的主要内容,如果未能解决你的问题,请参考以下文章
在 phpMyAdmin 中导入/替换带有 CSV 的表时遇到问题:第 1 行的 CSV 输入中的列数无效