2012-01-31 61 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来清理数据将是安全的解决方案。