如何从大型Excel文件过滤和写入数据?

问题描述

我得到一个很大的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')