Openpyxl:是否可以将数据透视表从一个工作表复制到另一个工作表?

时间:2019-07-18 08:53:22

标签: python copy pivot-table openpyxl

我需要创建一个使用Python自动执行的数据透视表。由于openpyxl仅允许对数据透视表进行读取访问(即无法创建新的数据透视表),因此我在考虑在现有工作簿中创建模板数据透视表,并基于该模板在其他工作簿中创建新的数据透视表。 >

但是,这导致将数据透视表(或工作表)从一个工作簿复制到另一个工作簿的问题。虽然在工作簿之间复制具有原始数据(结构)的工作表似乎可以解决一些问题,但我无法弄清楚如何复制数据透视表。我的尝试(见下文)在某种意义上失败了,即仅复制了数据透视表的各个单元的绝对值,而没有复制数据透视表本身的逻辑/结构。

有什么想法如何复制数据透视表或如何以编程方式创建它们?

从openpyxl导入load_workbook

 wb = load_workbook('source.xlsx')
 wb2 = load_workbook('target.xlsx')

 sheet1 = wb.get_sheet_by_name('source')
 sheet2 = wb2.get_sheet_by_name('target')

 for i in range(1,sheet1.max_row+1):
     for j in range(1,sheet1.max_column+1):
         sheet2.cell(row=i,column=j).value = sheet1.cell(row=i,column=j).value

 wb2.save('target.xlsx')

0 个答案:

没有答案