私はクリーンアップする必要のある「悪い」タブ区切りファイルを持っています。問題は、フィールドに改行がある可能性があるという点にあります。私はこれを修正する最も簡単な方法は、間違った改行をある種の置換文字、例えばスペースで置き換えることだと思います。今そこには、ライン上のnフィールドことになっている場合、私は次のようになり、これを行う方法を想像することができます(擬似コード)不正なCSVを解析する
var line = read n-1 fields ending in a tab, and then until the end of line
line.replace("\n", " ")
line.replace("\r", " ")
write line to output
は今、これらのファイルは巨大であり、それをズルズルすることはオプションではありません。これは合理的なアプローチですか? (私はこれが最後のフィールドで改行を越えて移動することを知っていますが、私はそれと一緒に暮らしています) 十分なデータを読むにはどうすればよいでしょうか?私はどの言語に関わらず気にしませんが、利用可能なランタイムを持っているので、.net、perl、またはpython2を好む。
ファイルは*ものすごく*大きくない場合、私はちょうどVimの中でそれをやっていると思います。もしそうなら、私は個人的にはPythonでそれを行います。あなたのアプローチは私にとってはうまくいくようです。 –
ギガバイト単位です。私はそれを殺すという考えを震わせる。 – Martijn