我试图在使用win32com python库创建的PIVOT表中插入一个计算字段。但是, 当我执行我的代码时, excel给我错误:”
数据透视表公式中不支持引用, 名称和数组”
import win32com.client
Excel = win32com.client.gencache.EnsureDispatch('Excel.Application')
win32c = win32com.client.constants
Wb = Excel.Workbooks.Open('MyWorkbook')
Excel.Visible = True
Ws = Wb.Sheets('PR Jan20')Wb.Sheets.Add()
Wb.ActiveSheet.Name = 'PivotSheet'
WsP = Wb.Sheets('PivotSheet')MaxR = Ws.UsedRange.Rows.Count
MaxC = Ws.UsedRange.Columns.Count
C1 = Ws.Cells(1, 1)
C2 = Ws.Cells(MaxR, MaxC)
PivotSourceRange = Ws.Range(C1, C2)PCache = Wb.PivotCaches().Create(SourceType=win32c.xlDatabase, SourceData=http://www.srcmini.com/PivotSourceRange, Version=win32c.xlPivotTableVersion14)
PTable = PCache.CreatePivotTable(TableDestination=WsP.Range('B2'), TableName='RegisterPivot', DefaultVersion=win32c.xlPivotTableVersion14)PTable.PivotFields('Party').Orientation = win32c.xlRowField
PTable.PivotFields('Party').Position = 1
PTable.AddDataField(PTable.PivotFields('Gross Kgs'))
PTable.AddDataField(PTable.PivotFields('Amount (RS.)'))
#till above this line code is working fine#this below line is causing issue
PTable.CalculatedFields().Add('Average Purchase Rate', '= Amount (RS.) / Gross Kgs')
” Excel错误”
#1【无法在使用win32COM python库创建的PIVOT表中插入计算字段】我已经解决了上述问题。问题出在列名” Amount(RS。)” 上, 我将该列重命名为” Amount” , 并且一切正常。我认为VBA不适合在Pivot字段名中使用()括号。。
推荐阅读
- Python如何在异常发生后立即停止执行函数()
- 如何像在REST中一样实现GRPC调用()
- Python Pandas将字符串与groupby结合在一起
- 读取csv乱码(如何读取带?的csv())
- 大数据|大模型炼丹无从下手(谷歌、OpenAI烧了几百万刀,总结出这些方法论…)
- 图像分类|保姆级使用PyTorch训练与评估自己的Wide ResNet网络教程
- ListView.builder如果appbar为null则显示可用空间
- Android(为什么本机代码比Java代码要快得多)
- 如何使用自定义历史记录对象在我的主要App组件中侦听路线更改()