1

我在我的 Rails 应用程序中使用 fastcsv 来解析用户上传的 csv 文件。但最近,一位用户上传了一个引发 FasterCSV::MalformedCSVError 的 csv 文件。

奇怪的是,当我通过openoffice打开他的 csv 文件并重新保存它而不做任何更改时。惊喜; 重新保存的csv 可以正常工作而不会出现格式错误的错误。

我检查了重新保存的文件以及它与原始文件之间的差异,发现 openoffice 在某些单元格中更改了其内容。

例如

原始具有单元格值:“Mahmoud”

但重新保存了价值:没有双引号的马哈茂德

我找不到所有差异,因为这个文件超过 6000 行

知道为什么会发生这种情况吗?或者我可以通过 offenoffice lib(而不是手动)重新保存 csv 文件,然后使用 fastcsv 吗?

4

1 回答 1

0

CSV 有许多可能不兼容的规范。运行无头 OpenOffice 来清理数据将是安全的解决方案。

于 2012-08-08T01:26:09.040 回答