尝试在PivotField()中使用ShowDetail时win32com引发错误

时间:2017-05-18 16:28:26

标签: excel python-3.x pywin32 win32com

我正在使用python脚本向excel文档添加新数据,然后在每次调用时使用这些数据构建数据透视表。

为了创建数据透视表我使用win32com构建数据透视表,但由于数据集太大,我试图根据特定字段折叠表。

应用

时崩溃没有问题
ShowDetail = False

,如

PivotTables("PivotTable1").PivotFields("DIRECTION").PivotItems("IN").ShowDetail = False

但由于数据集非常大,我试图为整个字段设置它,比如

 PivotTables("PivotTable1").PivotFields("DIRECTION").ShowDetail = False

引发错误

AttributeError: win32com.gen_py.unknown.PivotItems instance at 0x149903408  object has no attribute 'ShowDetail'

目前在Anaconda中使用Python 3.6,并预装了pywin32版本220.

2 个答案:

答案 0 :(得分:0)

不确定这是否适合您,但我已经完成了这些项目。我使用的是Python 2.7,因此语法可能略有不同。这是我使用的代码

for item in PivotTables("PivotTable1").PivotFields("DIRECTION").PivotItems:
    item.ShowDetail = False

答案 1 :(得分:0)

尝试使用PivotItem的索引,为我工作:

for item in range(1,PivotTables("PivotTable1").PivotFields("DIRECTION").PivotItems().Count+1): 
PivotTables("PivotTable1").PivotFields("DIRECTION").PivotItems(item).ShowDetail = False