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

时间:2016-09-08 07:06:11

标签: python csv pandas dataframe chunks

我想将块中的文件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)

我收到错误:

  

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

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

请告知修复。

1 个答案:

答案 0 :(得分:3)

我认为最好在read_csv中使用参数chunksize。另外,将concat与参数ignore_index一起使用,因为需要避免index中的重复:

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

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

请参阅pandas docs