- 我有一个 16MB 的 CSV 文件,其中包含 50,000 行,我想将其导入到我的数据库中。
- 我进入 PHPMyAdmin 界面,选择 IMPORT 并设置正确的选项。
- 导入失败,并出现错误
Invalid field count in CSV input on line 24,333
。 - 当我通过 Notepad++ 查看 CSV 文件并打开选项时,
View -> Show Symbols -> Show all Characters
此行中的所有内容看起来完全正常,意味着与之前正确导入的行完全相同。
我如何才能找到导入所抱怨的问题?
我无法提供数据样本,因为它包含敏感信息。
答案1
要查找这些情况,请查找可能被解释为分隔符或复杂或未闭合的引号的任何字符。请记住,如果文件前面的字段值中有换行符,则行号可能不正确,因此您正在查看的行可能不是导入所抱怨的行。
还可以尝试将 CSV 文件导入 Excel 或 OpenOffice,看看这些应用程序是否能按预期处理文件。这将为您提供一个很好的视觉方式来识别问题所在。
答案2
对我来说,一个解决方案是从 Excel 复制/粘贴所有内容,创建一个新的 Excel 表,然后粘贴所有内容。
然后,保存、上传等。
我不知道为什么这对我有用,但它确实有效,你可以尝试一下。
答案3
如果您要导入现有表中的 .csv 文件,则请先删除该表的 id(主键),然后导入该 .csv 文件,导入后将该 id 添加回表中作为主键。
如果要导入新表,则请先导入 .csv 文件,然后再创建新表,然后在导入 .csv 文件后根据要求重命名导入的表。