2016-09-08 8 views
2

チャンク内のファイルfをデータフレームに読み込みたい。ここで私が使用したコードの一部です。Pythonデータフレームでデータをチャンクで読み取る方法は?

for i in range(0, maxline, chunksize): 
df = pandas.read_csv(f,sep=',', nrows=chunksize, skiprows=i) 
df.to_sql(member, engine, if_exists='append',index= False, index_label=None, chunksize=chunksize) 

私はエラーを取得する:

pandas.io.common.EmptyDataError: No columns to parse from file

コードが動作した場合にのみ(ファイルFの総行である)チャンク> = MAXLINE。しかし、私の場合、チャンクサイズは< = maxlineです。

解決方法をお知らせください。

+0

尋ねる前に、文書を参照することをお勧めします。 – PhilChang

+0

私はPythonにはまだまだ慣れていませんが、少し手持ちする必要があります。申し訳ありません、あなたを気にさせ、忍耐してくれてありがとうございます。 – Geet

答えて

3

read_csvにパラメータchunksizeを使用する方が良いと思います。また、理由indexで重複を避けるために必要で、パラメータignore_indexconcatを使用します。

chunksize = 5 
TextFileReader = pd.read_csv(f, chunksize=chunksize) 

df = pd.concat(TextFileReader, ignore_index=True) 

参照はdocsをパンダ。

+0

ありがとう!今度はTextFileReaderとしてdfを取得します。私のコードの次のステップでは、dfがデータフレームであることを要求しています。 TextFileReaderをデータフレームに変換するにはどうすればよいですか? – Geet

+0

回答を更新しています。確認してください。 – jezrael

+0

私の実際のデータは約85GBです。連結によってデータフレームが大きくならないでしょうか?私はチャンクを使ってチャンクを読み書きしたい。お知らせ下さい。 – Geet

関連する問題