私は、大きなCSVファイルを持っており、それは次のように私はpd.read_csvで開きを使用してパンダと、選択した行を開きます私はread_csvは「チャンク」および/または「イテレータ」
の引数にチャンク= 512を追加した場合...行from 0 to 511
from 512 to 1023
from 1024 to 1535
...
from 512*n to 512*(n+1) - 1
のn = 1、2、3で開くことができるように
をしたいと思います
df = pd.read_csv(path//fileName.csv, sep = ' ', header = None, chunksize = 512)
と私は0~5から行を開くことができるAMまたはIループ
data = []
for chunks in df:
data = data + [chunk]
に使用して512行の部分にファイルを分割することができているよりも
df.get_chunk(5)
を入力
しかし、ファイルが完全に開かれ、時間がかかるので、これは全く役に立たない。 512 * nから512 *(n + 1)までの行のみを読み取るにはどうすればよいですか。周りを見る
私は、多くの場合、それが
df = pd.read_csv(path//fileName.csv, sep = ' ', header = None, iterator = True, chunksize = 512)
を次のように「チャンクサイズ」を「イテレータ」と一緒に使用されていることがわかりました。しかし、多くの試行の後、私はまだ私にこのブール変数を提供給付かを理解していません。私に説明してくれませんか?
私は何かをマージする必要はありません、私はちょうど言うから行を開く必要があります...他の何も開くことなく、512 * 10から512 * 11 -1、それは可能ですか? –
私のIPythonにコードをコピーして渡したところ、 "iterator = True"で1回、 "iterator = False"でもう一度試しましたが、違いはありません。この場合、「イテレータ」は役に立ちますか? –
@StefanoFedele、私は例で私の答えを更新しました。それは 'chunksize'と' iterator'の違いを明確にするはずです... – MaxU