2014-09-26 115 views
0

嘗試使用jquery-csv庫將CSV格式的數據讀取到javascript中,但是在每行末尾的^M字符處出現CSVDataError: Illegal Data錯誤。從CSV文件中刪除^ M

看來不管如何保存CSV,我都會得到這個^M。我只能看到^M,如果我打開vim中的CSV文件,即使在文本編輯器或我的IDE中,數據看起來也不錯。在使用其他語言(如Python或R)時,我不會遇到此問題。

我正在使用Mac環境。

我該如何解決這個問題,並在將來避免這個問題?

回答

1
  1. 使用dos2unix進行轉換。
  2. 這是錯誤的,「不管如何保存」CR(^ M是一個回車)被追加。例如,echo 'a,b,c' > letters.csv不會附加CR。檢查你的文本編輯器設置。
0

看看jQuery-csv頁面上的splitlines algorithm,它似乎提供了一個函數,可以爲您清理這些有問題的回車。

+0

如何實現這個splitLines算法的作者? – brno792 2014-09-26 17:30:35

+0

該頁面上已經提供了該實現。 – TML 2014-09-26 17:31:41

+0

所以在我將csv數據讀入javascript後,我調用該函數,然後將結果傳遞到我的csv.toArrays()函數中? – brno792 2014-09-26 17:34:18

0

假設^M表示一個mac風格的回車,回車的支持包含在以前的版本中,所以你的代碼應該可以工作。

來源:我jQuery的CSV