问题描述
我得到一个很大的excel文件(100 MB +),其中包含各种市场的数据。我对我的市场有特定的过滤器,例如“国家名称”:“英国”,“启动日期”:“ 2010年1月”之后。我想制作一个python程序来自动进行过滤和将数据写入新的excel文件过程,但是openpyxl花费太多时间来加载这么大的excel。我还尝试了openpyxl和xlsxwriter的组合,在其中我通过遍历openpyxl中的行并使用xlsxwriter将其写入新文件中来读取文件read_only模式,但这也花费了太多时间。有没有更简单的方法来实现这一目标?
解决方法
不确定Wheather熊猫可以处理很大的文件,但是您尝试过Pandas吗?
mydf = pandas.read_excel(large_file.xlsx)
在阅读时,您可以忽略不需要的列
然后按照此处所述过滤数据框 Select rows from dataframe
然后将数据框写回excel
mydf.to_excel('foo.xlsx',sheet_name='Sheet1')