2017-07-27 135 views
0

在版本0.16.1中,chunksize参数可用。read_excel的chunksize关键字未实现

参见:http://pandas.pydata.org/pandas-docs/version/0.16.1/generated/pandas.ExcelFile.parse.html

但是在最新的版本是不可用的。

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.ExcelFile.parse.html

是什么,它被移除的原因?

另外,我应该如何处理最新版本的块大小的excel文件?

我用下面的事情:

import pandas as pd 

excel = pd.ExcelFile("test.xlsx") 

for sheet in excel.sheet_names: 
    reader = excel.parse(sheet, chunksize=1000) 
    for chunk in reader: 
     # process chunk 
+1

它在['0.17.0'](http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#whatsnew-0170-api-breaking-other)中是不受支持和删除的,所以它'现在会引发一个不受支持的错误。请参阅https://github.com/pandas-dev/pandas/pull/11198和https://github.com/pandas-dev/pandas/issues/8011。由于它使用'xlrd',这看起来像是将整个工作表加载到内存中,到目前为止'chunksize'还没有被加回 – EdChum

回答

1

由于EdChum在注释中说明,在0.17.0或更新版本中取消了这一功能。 Chris在评论中给出了相同的原因:

有没有超级引人注目的理由;主要思想是匹配to_excel的 api,即“ExcelFileWrapper”(ExcelFile,ExcelWriter) 没有任何特定于熊猫的功能,而是将 传递给io函数(read_excel,to_excel)。

我确实更新了文档以涵盖该特定示例。编辑:虽然 它可能很难在差异中看到 - 在下面呈现。

来源:https://github.com/pandas-dev/pandas/pull/11198

我仍然不知道是否有以块的形式来读取Excel任何替代方法?