我在我的 Rails 应用程序中使用 fastcsv 来解析用户上传的 csv 文件。但最近,一位用户上传了一个引发 FasterCSV::MalformedCSVError 的 csv 文件。
奇怪的是,当我通过openoffice打开他的 csv 文件并重新保存它而不做任何更改时。惊喜; 重新保存的csv 可以正常工作而不会出现格式错误的错误。
我检查了重新保存的文件以及它与原始文件之间的差异,发现 openoffice 在某些单元格中更改了其内容。
例如,
原始具有单元格值:“Mahmoud”
但重新保存了价值:没有双引号的马哈茂德
我找不到所有差异,因为这个文件超过 6000 行
知道为什么会发生这种情况吗?或者我可以通过 offenoffice lib(而不是手动)重新保存 csv 文件,然后使用 fastcsv 吗?