有人给我发了一个xlsx excel文件,我用excel打开它,用utf8编码保存为csv。
我使用mysql工作台导入向导将excel制作的utf8 csv文件导入到数据库表中。但是导入的结果漏掉了一些数据(比它应该得到的要少)。
我认为这与商城有关。
默认情况下,商城是双引号,但我有这样的数据(混合单引号和双引号):
我试图省略这个值,但它不能(见图中的错误)。
所以我想弄清楚:

我的数据在excel中如下所示:

发布于 2018-05-22 17:08:56
我想,您将以CSV的形式从Excel导出数据,因此在Excel中的情况与此无关。
当您以CSV格式从excel导出数据时,它将将数据封装在双引号中。数据本身中的任何双引号都将由excel自动转义第二个双引号。
例如,如果您的数据是:
8"当您导出时,它将是:
"8"""您必须告诉Mysql,您在字符"中包含字符串。这就是它所说的quotechar。这是你填写的表格上的第二个字段。
我不知道MySQl会有多挑剔,因为我还没有将CSV永远地、永远地、永远地导入Mysql。Excel输出的诀窍是,如果您有如下数据:
8"
8'它将以CSV的形式输出:
"8"""
8'第二个记录/字段不会获得双引号封装,因为它不包含需要封装的字符(双引号、回车或行提要)。
Mysql可能会被第二条记录阻塞(希望它的导入过程足够健壮,可以处理封装和非封装的字段)
https://stackoverflow.com/questions/50472683
复制相似问题