私は3億1500万行以上の列と1つの列を含む大きなCSVファイルを持っています。結果を得るには、一度に50以上のファイルを処理する必要があります。Pythonで大きなcsvファイルを処理する
私はcsvリーダーを使用して10以上を読んでいるので、12GB以上のRAMが必要であり、痛いほど遅いです。私はメモリを節約するためにファイルの塊だけを読むことができますが、毎回ファイル全体を読むようにファイルを読むのにもっと時間を費やします。
私はそれらをデータベースに読み込んでそこからデータを照会することを考えました。しかし、このアプローチが何らかの形で役立つかどうかはわかりません。誰でもPythonでこのようなシナリオを処理する最も効率的な方法を教えてください。
あなたが行っている操作の種類によって異なります。データベースは1つのオプション、EC2は別のもの、CLIは3番目ですが、これはすべてあなたが何をしているかによって異なります。 –
私は値を受け取り、単純な乗算と加算オプションを実行し、結果を保存し、ファイルの次のチャンクに移動します。 –
問題が不明です。ファイルはどのように関係していますか?なぜ彼らは順次ではなく並列で処理する必要があるのですか?計算を行うために一度に何行のメモリが必要ですか?たとえば、累積合計は一度に1行しか必要としません。 –