使用pyExcelerator/xlrd进行数据透视

2024-04-28 10:23:35 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用python libs(如pyExcelerator/xlrd)创建带有透视表的工作表(在excel工作簿中)?我需要生成一个每日报告,其中有一个透视表来汇总其他工作表上的数据。一个选择是有一个空白模板,我复制和填充数据。在这种情况下,是否有方法从代码刷新轴心点?还有其他建议吗?


Tags: 数据方法代码模板报告情况excel建议
3条回答

我不相信您可以使用xlwt以编程方式添加透视表。

但第二种方法(填充预先配置的工作簿)似乎是合理的。

可以使用模板工作簿中的VBA宏刷新透视表。要自动执行此操作,请创建一个WorkBook_Open事件处理程序。

刷新透视表的VBA代码为:

Sheet1.PivotTables(1).PivotCache.Refresh

试着看看这个:Python: Refresh PivotTables in worksheet

如果您知道如何创建透视表,那么可以使用我的代码刷新它们

请澄清(通过编辑您的问题)“工作表”是“电子表格”的缩写,是指整个XLS文件,还是“工作表”的缩写,工作表是“工作簿”的一个组成部分。

如果“pivot table”是指Excel机制,那就太不走运了,因为它只能由Excel创建。但是,如果您指的是使用Python和适当的库创建自己的“交叉表”,则可以使用xlrd、xlwt和xlutils三者来完成此任务。

你似乎知道xlrd。

xlwt是pyExcelerator的一个分支,它修复了错误并进行了一些增强。pyExcelerator似乎无法维护。

xlutils是一个实用程序模块包。可以使用xlutils.copy从xlrd Book对象创建xlwt工作簿对象,以便可以对xlwt工作簿进行更改并将其保存到文件中。

这是您的one-stop-shop for more info on the three packages,以及一个教程,以及指向google组/邮件列表的链接,您可以使用该列表获得帮助。

相关问题 更多 >