繁体   English   中英

使用 Python 使用 win32com 对 pivot 表进行排序

[英]Sorting a pivot table with win32com using Python

我想对使用 win32com 模块和 Python 创建的 Excel pivot 表进行排序。

据我了解,我应该使用 function AutoSort() 并且根据官方文档,有四个字段,其中两个是可选的。 因此,我只指定了“Order”和“Field”字段。

AutoSort(Order=1, Field="Tot Converted Amount Due")

但是,当我运行下面的代码行时,出现错误。

    wb.Sheets("pivot_table").PivotTables("pivot_table").PivotFields("Tot Converted Amount Due").AutoSort(Order=1, Field="Tot Converted Amount Due")

错误:

def AutoSort(self, Order=defaultNamedNotOptArg, Field=defaultNamedNotOptArg, PivotLine=defaultNamedOptArg, CustomSubtotal=defaultNamedOptArg):
---> 44         return self._oleobj_.InvokeTypes(1514, LCID, 1, (24, 0), ((3, 1), (8, 1), (12, 17), (12, 17)),Order
     45             , Field, PivotLine, CustomSubtotal)
     46 

com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2146827284), None)

我究竟做错了什么?

我真的很感激任何意见或帮助。 谢谢!

我不知道这是否是您的情况,但您需要在.PivotFields("""Row field""")中传递一个行字段。

您是否尝试过使用ascending=true进行排序? https://stackoverflow.com/a/60778942/18247317

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM