2012-06-26 218 views
4

我正在使用MySQL和php。通過一個PHP腳本我試圖導入CSV文件,下面的查詢將csv文件導入到mysql

LOAD DATA LOCAL INFILE '$file' 
    INTO TABLE userstable 
    FIELDS TERMINATED BY ',' 
    LINES TERMINATED BY '\n' IGNORE 1 LINES (name, univ, mobile); 

我能夠成功地導入該文件在數據庫表,但我能看到 隱藏的格式符號(如在文字,powerpoint等)。在最後一列即手機下的所有單元格中。

如何避免那些從表

+2

令人震驚?爲什麼看到mysql在文件內容中sl it不已呢?如果mysql變得心靈感應,並且能夠讀懂你的想法並找出如何跳過你不想要的數據,我會更加震驚。 –

+0

@Marc B對不起。你能告訴如何跳過這些? – user1074122

+1

選項1清理csv文件,選項2清理數據庫後導入,選項3定製導入,清理導入數據,選項4'修復'什麼創建CSV文件 – 2012-06-26 21:36:08

回答

1

可能是DOS行尾。 與

LINES TERMINATED BY '\r\n' 

,而不是嘗試。

+0

感謝您的答覆。 – user1074122

0

我認爲你將不得不使用正則表達式被保存之前對數據進行篩選插入。如果我沒有記錯,大部分格式都是標準化的,所以在添加到dB之前應該很容易找到並消除。 - lee