我正在尝试从仍在excel中的csv文件加载数据。到目前为止,这是我作为我的SQL查询的声明:
LOAD DATA LOCAL INFILE 'C:\\Documents and Settings\\J03299\\Desktop\\TMETER.csv'
INTO TABLE edata
COLUMNS TERMINATED BY ',' ENCLOSED BY "" LINES TERMINATED BY '\n'
(Year,Month,Day,MJD,xpiles,xstacks,Utilites);
它导入第一行然后忽略每一行直到第157行?我想知道我的遗失是什么?由'\ n'终止的线路?我的数据看起来像这样
2012,23,45,-0.876,3.456,768.50,
某种程度上它不是在读取文件的结尾我猜
是否还有其他工具可用于导入此信息
答案 0 :(得分:2)
您可以尝试使用Mysql workbench
。
OR
使用LINES TERMINATED BY ‘\r\n’
答案 1 :(得分:1)
解决了这个问题......这是我的愚蠢错误 apparanely我在创建桌子时使用年份作为主键但是年份不是唯一的。只有两个值表示2012年和2013年,所以它只读取了2012年的第一行,因为所有后续行都相同,所以它会忽略它们直到它到达2013(下一个唯一主键)并将第一行带到那个然后又放弃了。我的LOAD语句不是问题。感谢大家帮助我,在创建数据库表时,我应该做得更好
答案 2 :(得分:0)
在Windows上,行终止通常是回车符U+000d,后跟换行符U+000a。正如the manual所述:
注意强>
如果您在Windows系统上生成了文本文件,则可能必须使用
LINES TERMINATED BY '\r\n'
正确读取文件,因为Windows程序通常使用两个字符作为行终止符。某些程序(例如WordPad
)在编写文件时可能会使用\r
作为行终止符。要阅读此类文件,请使用LINES TERMINATED BY '\r'
。
因此:
LOAD DATA LOCAL INFILE 'C:\Documents and Settings\J03299\Desktop\TMETER.csv'
INTO TABLE edata
COLUMNS
TERMINATED BY ','
ENCLOSED BY ''
LINES
TERMINATED BY '\r\n'
(Year, Month, Day, MJD, xpiles, xstacks, Utilites)
答案 3 :(得分:0)
问题是你的SQL查询有:
LINES TERMINATED BY '\n'
但您的数据已被','(逗号)终止。
2012,23,45,-0.876,3.456,768.50,
尝试将该行更改为:
LINES TERMINATED BY ',\n'
另一种方法是通过删除尾随逗号来清理输入数据。