私はつまり、私は手動で3つのUNIXの操作を実行した上でスペース区切りファイル(file1.csv
)を、持っています。各ラインからすべての二重引用符( ")を削除する。やって基本的なUNIXの操作Python的な方法
sed 's/"//g' file1.csv > file_tmp1.csv
STEP2。任意の行の先頭で、すべての空白を削除する。
sed 's/^ *//' file_tmp1.csv > file_tmp2.csv
STEP3。それぞれの文章の間にあるすべての追加の空白を削除しますライン。だから、
cat file_tmp2.csv | tr -s " " > file1_processed.csv
、私は計算-時間の多くせずにPython的な方法でこのおよびそれに任意のより良いアプローチがありますかどうかを知りたいと思いました。これらの3つのステップは、やる程度〜5分(max)をとりますUNIXコマンドを使用しています。
ファイルfile1.csv
は、で区切られたファイルですので、スペース区切りにしてください。
解決方法でメモリ全体にfile1.csv
をロードすることが示唆されている場合は、毎回メモリにロードするにはファイルが大きすぎる(〜20 GB程度)ため、これがチャンク内で行われる方法を提案してください。
ありがとうございます。
私はあなたがUNIXツールの性能にさえ近づくことはできません。これらのツールはC言語で書かれており、パフォーマンスのために高度に最適化されています。 – hek2mgl
あなたはPythonでそれを行う必要がありますか、または単にPythonが速くなると思いましたか? – user1767754
多分、配管、少なくとも、コマンド?中間ファイルが生成されず、シングルパスが与えられたファイルを変換するようなことはありませんか? –