要使用 openpyxl 创建 Excel 数据透视表,需要先创建一个 Excel 文件,然后在文件中创建一个数据表,并将数据表转换为数据透视表。下面是一个简单的示例代码:\n\npython\nfrom openpyxl import Workbook\nfrom openpyxl.utils.dataframe import dataframe_to_rows\nfrom openpyxl.pivot.table import PivotTable, PivotCache, DataField, DataField\nfrom openpyxl.drawing.image import Image\nimport pandas as pd\n\n# 创建一个 Excel 文件\nwb = Workbook()\n# 选择默认的活动工作表\nws = wb.active\n\n# 创建一个数据表\ndata = {\n 'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],\n 'Age': [25, 34, 19, 42, 28],\n 'Gender': ['Female', 'Male', 'Male', 'Male', 'Female'],\n 'Grade': ['A', 'B', 'C', 'A', 'B']\n}\ndf = pd.DataFrame(data)\nfor row in dataframe_to_rows(df, index=False, header=True):\n ws.append(row)\n\n# 创建一个数据透视表\npivot_table = PivotTable()\npivot_table.source = ws['A1'].expand()\npivot_table.pivotCache = PivotCache()\npivot_table.pivotCache.cacheId = 1\npivot_table.pivotCache.recordCount = len(df) + 1\n\n# 设置行和列的标签\nrow_field = DataField()\nrow_field.name = "Gender"\nrow_field.pivotArea = "row"\npivot_table.rowFields = [row_field]\n\ncolumn_field = DataField()\ncolumn_field.name = "Grade"\ncolumn_field.pivotArea = "column"\npivot_table.columnFields = [column_field]\n\n# 设置数据字段\ndata_field = DataField()\ndata_field.name = "Age"\ndata_field.pivotArea = "data"\npivot_table.dataFields = [data_field]\n\n# 将数据透视表添加到工作表\nws.add_pivot(pivot_table, "F5")\n\n# 保存 Excel 文件\nwb.save("pivot_table.xlsx")\n\n\n上面的代码首先创建一个 Excel 文件,然后创建一个数据表,使用 pandas 库将数据表中的数据写入工作表。接下来,创建一个数据透视表对象,并将数据表转换为数据透视表。最后,将数据透视表添加到工作表中,并保存 Excel 文件。

Openpyxl 创建 Excel 数据透视表:完整指南与示例代码

原文地址: https://www.cveoy.top/t/topic/pUCN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录