为什么excel export csv不引用单引号?

时间:2018-05-23 12:54:22

标签: mysql sql excel mysql-workbench

当我将数据从excel导出为CSV格式时,它将一些数据封装在双引号中。 E.g。

  1. 8"变为"8"""。我相信这个操作正试图让数据库在以后了解内部引用。
  2. 但对于单引号8',它会保持不变,这会导致问题(请参阅下面的图片),而我正在导入csv。
  3. 为什么不将8'引用到"8'"

    导入时

    8'变为',而"8'"将导致8'而不引用单引号会导致数据丢失。 enter image description here

    相关问题:
    what does quotechar mean in mysql while importing data?

    Excel adds extra quotes on CSV export

1 个答案:

答案 0 :(得分:0)

经过这么多实验,我终于找到了一个非常接近的答案。

结论第一:

  • 这是Mysql Workbench的问题。它的导入向导很糟糕。我在Navicat下测试每个测试数据,Navicat让所有事情都正确。
  • 单引号可能会导致意外行为。

测试:

默认情况下,Mysql workbench导入向导将第一行值作为列名,而在Navicat中,我可以配置它。

(所有测试文件都是excel导出的csv utf8编码。)

TEST1:

例如:8'(仅1条记录),没有列名。
 enter image description here
 Mysql:弹出一些未知错误,无论你改变什么配置,都无法获得原始数据  Navicat:工作正常。

enter image description here enter image description here

TEST2:

例如:8',只有1个带列名的记录或没有列名的额外记录
 Mysql:可以正确处理单引号  Navicat:没问题。 enter image description here enter image description here

TEST3:

如果存在单引号,对于大多数情况导入向导无法很好地处理双引号。

例如:单引号数据出现在双引号数据之前 enter image description here
  Mysql:完全失败。
  Navicat:没问题。

enter image description here enter image description here