【发布时间】:2018-05-23 12:54:22
【问题描述】:
当我将数据从 excel 导出为 CSV 格式时,它会将一些数据封装在双引号中。 例如
-
8"变为"8"""。而且我相信这个操作是试图让数据库稍后理解内部引用。 - 但是对于单引号
8',它保持不变,这会在我导入 csv 时导致问题(见下图)。
为什么不将8' 也引用到"8'" 中?
8'在导入时变成',而"8'"会导致8',并且不引用单引号会导致一些数据丢失。
问题相关:
what does quotechar mean in mysql while importing data?
【问题讨论】:
-
@BobKaufman 加油。你没看到
8'在导入时只变成'吗?如果照片不好,我很抱歉。 -
问题很清楚。它不应该被关闭。
-
@RavinderReddy 感谢您的支持。
-
@Rick... Excel 只是做它的事情,它的事情就是谋杀数据。第一条规则:如果您关心数据的完整性,请将您的数据排除在 Excel 之外;)其次,我认为这可能是您使用的 mysql 客户端的限制。如果你点击命令行you'll see that the
LOAD DATA INFILEcommand 允许你指定FIELDS [[OPTIONALLY] ENCLOSED BY 'char']那个可选的OPTIONALLY关键字就是你需要的。我在您的客户端屏幕截图中没有看到表明它可以处理OPTIONALLY选项的复选框。 -
可选(我喜欢这个词)考虑将
xls输出到csv,在其中输出带有双引号的每个字段,使可选的OPTIONALLY关键字变得多余,这样您就可以使用您的mysql客户端. See here for some options 我非常喜欢使用 VBA 来处理此类工作,但我可以肯定地说,我过去曾使用 Libreoffice 弹出打开一个 xls 文件以更好地控制数据的导出。
标签: mysql sql excel mysql-workbench