如何在 Python 数据帧中分块读取数据?

Gee*_*eet 5 python csv chunks dataframe pandas

我想将文件 f 分块读取到数据帧中。这是我使用的代码的一部分。

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)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

pandas.io.common.EmptyDataError:没有要从文件中解析的列

该代码仅在 chunksize >= maxline(即文件 f 中的总行数)时有效。但是,就我而言,chunksize<=maxline。

请建议修复。

jez*_*ael 5

我认为最好chunksizeread_csv. 此外,使用concat参数ignore_index,因为需要避免重复index

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

df = pd.concat(TextFileReader, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

请参阅熊猫文档