2012-01-31 64 views
1

我正在使用fastercsv,在我的Rails應用程序中解析用戶上傳的csv文件沒有任何痛苦。 但最近,一位用戶上傳了一個csv文件,該文件拋出FasterCSV :: MalformedCSVError。FasterCSV格式錯誤

怪異的是,當我通過的OpenOffice打開他的csv文件重新保存它沒有任何變化。驚喜; 重新保存 csv正在運行,但沒有格式錯誤。

我檢查了resaved文件以及它與原始文件之間的差異,發現openoffice在某些單元格中更改了它的內容。

例如

原始細胞具有價值:「艾哈邁迪」

但重新保存有值:馬哈茂德沒有雙引號

我不能發現所有差異,因爲這個文件是6000多行

任何想法爲什麼會發生這種情況?或者我可以通過offenoffice lib(不是手動)重新保存csv文件,然後使用fastercsv?

+0

可能是一個編碼問題。例如,如果這是你所需要的,試着強制執行utf8。 – three 2012-01-31 12:22:54

回答

0

CSV有許多可能不兼容的specifications。運行無頭的OpenOffice來清理數據將是安全的解決方案。