python 使用excel数据透视写入另一个sheet表
要将Excel数据透视表写入另一个sheet表中,可以使用Python中的openpyxl库。下面是一个示例代码,演示了如何使用openpyxl创建一个数据透视表,并将其写入新的sheet表中。
import openpyxl as xl
from openpyxl.utils import get_column_letter
from openpyxl import Workbook
from openpyxl.drawing.image import Image
from openpyxl.drawing.image import Image
# 打开原始Excel文件
wb = xl.load_workbook('原始数据.xlsx')
# 获取原始数据sheet表
ws_data = wb['原始数据']
# 创建新的Excel文件
wb_new = Workbook()
ws_pivot = wb_new.active
ws_pivot.title = '数据透视表'
# 获取原始数据范围
data_range = ws_data.dimensions
# 将原始数据复制到新的sheet表
for row in ws_data[data_range]:
for cell in row:
col_letter = get_column_letter(cell.column)
ws_pivot[f'{col_letter}{cell.row}'] = cell.value
# 创建数据透视表
pivot_table = ws_pivot.pivot_table(
source_range=f"A1:{get_column_letter(ws_data.max_column)}{ws_data.max_row}",
rows='A',
cols='B',
values='C',
aggfunc='sum'
)
# 将数据透视表写入新的sheet表
for row in pivot_table.iter_rows():
for cell in row:
col_letter = get_column_letter(cell.column)
ws_pivot[f'{col_letter}{cell.row + ws_data.max_row + 2}'] = cell.value
# 保存新的Excel文件
wb_new.save('新的数据透视表.xlsx')
在这个示例代码中,首先使用load_workbook()函数打开原始的Excel文件,并获取原始数据sheet表。然后创建一个新的Excel文件,并获取数据透视表的sheet表。接下来,通过dimensions属性获取原始数据的范围,并将其复制到新的sheet表中。然后,使用pivot_table()方法创建数据透视表,并将其写入新的sheet表中。最后,使用save()方法保存新的Excel文件。
请注意,你需要将代码中的文件名和数据范围适当地更改为你实际使用的文件和范围。此外,你还可以根据你的需求自定义数据透视表的行、列和值字段,以及聚合函数
原文地址: https://www.cveoy.top/t/topic/hOuM 著作权归作者所有。请勿转载和采集!