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