我有一個CSV文件,我需要格式化(即變成)SQL文件,以便接收到MySQL中。我正在尋找一種方法來將文本分隔符(單引號)添加到文本中,而不是數字,布爾值等。我發現它很困難,因爲我需要用單引號括起來的一些文本本身帶有逗號,因此難以輸入搜索和替換的逗號。下面是一個例子線我一起工作:如何在Vim中將CSV文件快速重新格式化爲SQL格式?
1239,1998-08-26,'Severe Storm(s)','Texas,Val Verde,"DEL RIO, PARKS",'No',25,"412,007.74"
這是聯邦緊急事務管理局的數據文件,用131246行,我下車,我試圖進入一個MySQL數據庫data.gov的。正如你所看到的,我需要經過得克薩斯和Val Verde的前插入一個單引號,所以我嘗試:
s/,/','/3
但只更換了前三行的文件的逗號的第一次出現。一旦我過去了,我將需要找到一種方法來處理「DEL RIO,PARKS」,因爲它有一個逗號,我不想單引號。
那麼,有沒有一個「好」的方法來處理這個數據從純CSV讓它正確的SQL格式?
由於
MySQL具有內置的讀取CSV的功能。看看http://dev.mysql.com/doc/refman/5.1/en/load-data.html –
這很不錯,但它似乎已經截斷了我的131246行文件下降到959行。 – Brian
這是一個錯字,「德克薩斯州,Val Verde」沒有以結束單引號結尾嗎? –