Python 使用pyExcelerator/xlrd的数据透视

Python 使用pyExcelerator/xlrd的数据透视,python,excel,pyexcelerator,xlrd,Python,Excel,Pyexcelerator,Xlrd,如何使用python libs(如pyExcelerator/xlrd)创建带有透视表的工作表(在excel工作簿中)?我需要生成一份包含透视表的每日报告,以汇总其他工作表上的数据。一个选择是有一个空白模板,我复制并填充数据。在这种情况下,有没有一种方法可以从代码中刷新pivot?任何其他建议?请澄清(通过编辑您的问题)“工作表”是“电子表格”的缩写,是指整个XLS文件,还是“工作表”的缩写,是“工作簿”的组成部分 如果“数据透视表”指的是Excel机制,那就太不走运了,因为它只能由Excel创

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

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

如果“数据透视表”指的是Excel机制,那就太不走运了,因为它只能由Excel创建。但是,如果您是指使用Python和适当的库自行创建的“交叉表”,那么可以使用xlrd、xlwt和xlutils三者来实现这一点

您似乎知道的xlrd

xlwt是PyExcelator的一个分支,修复了bug并进行了一些增强。PyExcelator似乎未维护

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


这是你的,还有一个教程,还有一个指向谷歌群组/邮件列表的链接,你可以用它来获取帮助。

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

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

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

刷新透视表的VBA代码为:

Sheet1.PivotTables(1).PivotCache.Refresh

试着看看这个:


如果您知道如何创建数据透视表,则可以使用我的代码刷新数据透视表

使用excel中的VBA代码只会出现错误
AttributeError:“function”对象没有属性“refresh”
-我可以使用
Sheet1获取数据透视表(1)对象数据透视表(1).数据透视缓存().Refresh
给出了
但似乎没有任何东西被刷新。try
.PivotCache().Refresh()
Hi@codeape我在写评论后尝试了一段时间,但忘记了更新我的评论。感谢您的回答,虽然我可以看到您已经更新了我们的答案-只想注意,您现在将其更改为python Win32代码,而不是不使用最后两个()的VBA代码