この非常に大きな CSV ファイル (15 Gb) があり、そこから約 100 万行のランダムな行を読み取る必要があります。私が見て実装できる限り、Python の CSV ユーティリティでは、ファイル内で順次反復することしかできません。
すべてのファイルをメモリに読み取ってランダムな選択を使用するのは非常にメモリを消費し、すべてのファイルを調べていくつかの値を破棄して他の値を選択するには非常に時間がかかるため、CSV ファイルからランダムな行を選択する方法はありますか?その行だけを読む?
私は成功せずに試しました:
import csv
with open('linear_e_LAN2A_F_0_435keV.csv') as file:
reader = csv.reader(file)
print reader[someRandomInteger]
CSV ファイルのサンプル:
331.093,329.735
251.188,249.994
374.468,373.782
295.643,295.159
83.9058,0
380.709,116.221
352.238,351.891
183.809,182.615
257.277,201.302
61.4598,40.7106