在pywin32中创建Excel数据透视缓存

2024-06-09 16:16:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用python创建一个pivot表,但无法让它在我自己的数据上工作。我已经确定了一个问题单元是示例文件中的最后一个单元。在excel中直接创建透视表时,同样的数据也可以正常工作。在

代码如下:

import win32com.client as win32
win32c = win32.constants

excel = win32.gencache.EnsureDispatch('Excel.Application')

wb = excel.Workbooks.Open("test_pivot_cache.xlsx")
excel.Visible = True

data_sheet = wb.Sheets(1)
data_sheet.Activate()
r = data_sheet.UsedRange
n_rows = r.Rows.Count

#first column only
PivotSourceRange1 = data_sheet.Range("A1:A{}".format(n_rows))
PivotCache = wb.PivotCaches().Create(SourceType=win32c.xlDatabase, SourceData=PivotSourceRange1, Version=win32c.xlPivotTableVersion14)

#all but last row
PivotSourceRange2 = data_sheet.Range("A1:B{}".format(n_rows - 1))
PivotCache = wb.PivotCaches().Create(SourceType=win32c.xlDatabase, SourceData=PivotSourceRange2, Version=win32c.xlPivotTableVersion14)

#all the data
PivotSourceRange3 = r
PivotCache = wb.PivotCaches().Create(SourceType=win32c.xlDatabase, SourceData=PivotSourceRange3, Version=win32c.xlPivotTableVersion14)

以及数据: https://drive.google.com/file/d/0B8fA-_mtoc2NRnR4ZDF1amNndEU/view?usp=sharing

有问题的字符串单元格包含

*购买周期-对价,汽车保险-年轻驾驶员,渠道-汽车保险,语言-短语,修饰语-价格,修饰语-价格-便宜,利基-汽车,利基-租车,利基-司机,利基-保险,人物-年龄,人物-年龄-年轻,运输,运输-汽车

最后一行给出一个错误:

^{pr2}$

有人能翻译吗?在


Tags: 数据dataversioncreateexcelsheetrowswin32