2015-10-04 51 views
0

現在我的CSV是這種形式:如何使用字符串中的引號將數據從CSV導入到MySQL中?

的pubId,PUBKEY,標題,年份

csv

我使用這個查詢加載到MySQL:

SET NAMES utf8; 
LOAD DATA INFILE 'C:/Users/AllanPC/Desktop/csv/Publication.csv' 
INTO TABLE publication 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n' 

現在的問題是並非所有的csv數據都被加載到mysql中。

1096, journals/acta/LescanneP12,"Backward" coninduction~ Nash equilibrium and the rationality of escation., 2012

其中引號「的處理」中的負載產生一些問題:

這方面的問題通過CSV條目,如引起的?我該如何解決這個問題?

+1

爲什麼不用雙引號測試自己來回答問題呢?取出您認爲會導致問題的CSV文件的一行,並將其另存爲quotes.csv。然後嘗試加載CSV文件。對於測試2,刪除雙引號並將其保存爲withoutquotes.csv並嘗試加載它。爲了解決這個問題,你需要在可以處理大文件的文本編輯器中調出CSV文件(確保你備份了原文)。然後,用單引號替換所有雙引號,或用雙斜線(\「)引導雙引號(\」) –

+0

另外,甚至可以嘗試複製雙引號(即「」「」),用它來尋找解決方案。 –

回答

0

您定義

ENCLOSED BY '"' 

查詢裏面,但你沒有封閉CSV內的字符串。你將不得不逃離你的「在你的文件中,並把你的字符串改正」。

我覺得你行應類似於

1096, "journals/acta/LescanneP12","\"Backward\" coninduction~ Nash equilibrium and the rationality of escation.", 2012 

末。另外,您可以嘗試將ENCLOSED BY重置爲更合適的值,例如空白。

相關問題