1

ユーザーがアップロードしたcsvファイルを解析するために、Railsアプリケーションで苦労せずにfastercsvを使用しています。しかし最近、あるユーザーが FasterCSV::MalformedCSVError をスローする csv ファイルをアップロードしました。

奇妙な部分は、openofficeで彼の csv ファイルを開き、変更せずに再保存したときです。サプライズ; 再保存されたcsvは、不正な形式のエラーなしで機能しています。

再保存したファイルと元のファイルの違いを確認したところ、openoffice によって一部のセルの内容が変更されていることがわかりました。

たとえば

元のセル値: "Mahmoud"

しかし、価値があることを再保存しました:二重引用符なしのマフムード

このファイルは 6000 行を超えているため、すべての違いを見つけることができません

なぜこれが起こるのでしょうか?または、offenoffice lib (手動ではなく) で csv ファイルを再保存してから、fastercsv を使用できますか?

4

1 に答える 1

0

CSVには、互換性がない可能性のある多くの仕様があります。ヘッドレスOpenOfficeを実行してデータをサニタイズすることは、安全なソリューションです。

于 2012-08-08T01:26:09.040 に答える