2

如何使用 pyExcelerator / xlrd 等 python 库创建带有数据透视表的工作表(在 Excel 工作簿中)?我需要生成一个包含数据透视表的每日报告,以汇总其他工作表上的数据。一种选择是使用我复制并填充数据的空白模板。在这种情况下,有没有办法从代码中刷新数据透视?还有其他建议吗?

4

3 回答 3

5

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

如果“数据透视表”是指 Excel 机制,那么你就不走运了,因为它只能由 Excel 创建。但是,如果您的意思是使用 Python 和适当的库创建自己的“交叉表”,您可以使用 xlrd、xlwt 和 xlutils 的三重奏来完成此操作。

xlrd 你似乎知道。

xlwt 是 pyExcelerator 的一个分支,修复了一些错误并进行了一些增强。pyExcelerator 似乎没有得到维护。

xlutils 是一个实用模块包。xlutils.copy 可用于从 xlrd Book 对象生成 xlwt Workbook 对象,以便您可以更改 xlwt Workbook 并将其保存到文件中。

这是您的一站式商店,可获取有关这三个软件包的更多信息、教程以及可用于获取帮助的 google-group/mailing-list 链接。

于 2010-04-27T13:39:43.430 回答
0

我不相信您可以使用xlwt.

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

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

刷新数据透视表的 VBA 代码是:

Sheet1.PivotTables(1).PivotCache.Refresh
于 2010-04-27T13:46:04.290 回答
0

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

如果您弄清楚如何创建数据透视表,那么您可以使用我的代码来刷新它们

于 2013-11-05T08:46:20.730 回答