[英]import csv file to mysql
我正在嘗試從仍在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,
我猜莫名其妙地沒有讀文件的結尾
還有其他我可以用來導入此信息的工具嗎?
您可以嘗試使用Mysql workbench
。
要么
使用以LINES TERMINATED BY '\\r\\n'
解決了問題...這大概是我的愚蠢錯誤,我在創建表時使用year作為主鍵,但是year不是唯一的。 僅表示兩個值,分別是2012年和2013年,因此它僅讀取2012年的第一行,並且由於所有后續行都相同,因此忽略它們直到到達2013年(下一個唯一主鍵),然后將第一行移至那然后又放棄了。 我的LOAD語句不是問題。 謝謝大家的幫助,並且在創建數據庫表時我應該做得更好
在Windows上,行終止通常是回車符U + 000d,然后是換行符U + 000a 。 如手冊所述:
注意
如果在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)
問題是您的SQL查詢具有:
LINES TERMINATED BY '\n'
但是您的數據以','(逗號)結尾。
2012,23,45,-0.876,3.456,768.50,
嘗試將該行更改為以下內容:
LINES TERMINATED BY ',\n'
另一種選擇是通過刪除尾隨逗號來清理輸入數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.