簡體   English   中英

導入CSV文件到MySQL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM