我有.csv这样的文件数据:
"UPRR 38 PAN AM "M"","1"
我使用下面的命令将数据加载到表中,该命令有两列(a
和b
)。
LOAD DATA LOCAL INFILE 'E:\monthly_data.csv'
INTO TABLE test_data_table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
但是当我选择表格时,它会给出意想不到的结果,如下所示。
a
包含:
UPRR 38 PAN AM "M","1
...而b是NULL
。
由于
答案 0 :(得分:2)
您可以在文件中替换“双引号双引号”的所有实例
A.打开文件并找到替换它们 或B.制作一个脚本来打开文件并替换弄乱它的额外引用
答案 1 :(得分:1)
你有这个:
ENCLOSED BY '"'
因此"
不再是常规字符。它是一个具有特殊含义的特殊字符:它突出显示列值的开始和结束。如果您要键入 not 的行为"
,则需要将其转义。 RFC 4180 - Common Format and MIME Type for Comma-Separated Values (CSV) Files文档解释了如何执行此操作:
如果使用双引号括起字段,则使用双引号 出现在一个字段内必须通过前面的方式进行转义 另一个双引号
a;b
"UPRR 38 PAN AM ""M""";1
正如他们所说,垃圾进入,垃圾出来; - )