在MySQL中导入CSV。仅导入每隔一行

时间:2015-12-28 09:57:13

标签: mysql csv import

我想用这个命令将csv表导入mysql:

LOAD DATA LOCAL INFILE 'C:/Users/user/Desktop/SA01505.csv' INTO TABLE hks.orc CHARACTER SET 'utf8' COLUMNS  TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'  ESCAPED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES (@var1,@var2,@var3,`TI 41-40`,`TI 41-41`,`TI 41-42`,`TI42-40`,`TI 42-41`,`TI 42-42`,`TI 42-43`,`TI 42-43.2`,`TI 42-44`,`TI 42-45`,`TI 42-46`,`TI 42-47`,`PI 42-71`,`PI 42-72`,`PI 42-73`,`PI 42-75`,`FI 42-90`,`TI 43-40`,`TI 43-41`,`TI 45-40`,`TI 45-41`,`TI 47-41`,`TI 47-42`,`TI 47-43`,`TI 47-44`,`LI 42-61`,`SI 44-81`,`QI 46-22`,`UV 41-10_Soll`,`UV 41-10_Ist`,`UV43-10_Soll`,`UV43-10_Ist`,`Tc2`,`Tc3`,`Tc4`) 
SET Datum = STR_TO_DATE(CONCAT(@var2,@var3),'%Y/%m/%d%k:%i:%s');

此代码有效,但只导入每隔一行,但每行都以" \ n" (我用十六进制编辑器检查了这个)

1 个答案:

答案 0 :(得分:0)

我猜问题就在这里:OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"'。这是相互咬合的。

在导入的第一行中,封闭列的最后一个"将转义行终止符的\n。因此,总是将两行视为一行,您可能在导入的数据中看不到“第二行”,因为数据被截断。

删除ESCAPED BY '"'子句并查看它是否有效。如果它有效,但你需要它来正确导入你的数据,你将不得不处理你的数据。