【发布时间】:2020-09-09 10:43:08
【问题描述】:
我在 csv 中有数据,我正在尝试使用 Mysql GUI 以“CSV”格式将其导入数据库。
执行此操作时出现错误:“第 1362 行的 CSV 输入中的列数无效。”
在 CSV 文件中,第 1362 行包含带有重音字符的文本,删除重音后,此错误就会消失。但是,导入包含相同重音字符的其他一些行没有任何错误。
我如何设置我的数据库和 csv 文件
csv 文件是使用 python 的 csv.writer 创建的。使用 GUI 导入数据时,我选择了显示“文件字符集:utf-8”的选项
整个数据库的排序规则是utf8mb4_0900_ai_ci。有问题字符的列的类型为 Varchar(250),排序规则为 utf8_bin。
我尝试了什么
根据对以下问题的一些答案,我尝试将列和数据库的排序规则更改为utf_unicode_ci 和utf16。我尝试使用“CSV 加载数据”格式。
Multilingual Datatype in MYSQL
Trouble importing/replacing a table w CSV in phpMyAdmin: Invalid column count in CSV input on line 1
使用 CSV 加载数据时出现以下错误:
#1300 - Invalid utf8mb4 character string: '"Bille na dTeangacha Oifigi'
我会注意到,在文本中,上述字符串后面的字符是一个重音字符,会导致错误。
即使列的排序规则是utf_unicode_ci,也会出现引用utf8mb4 的相同错误。由此我认为问题在于整个表的排序规则是utf8mb4。
错误消息似乎表明排序规则是问题的根源。我尝试了很多排序规则组合,但没有取得任何进展。谁能指出我如何解决这个问题的正确方向?
【问题讨论】:
标签: python mysql database csv phpmyadmin