当前位置: 代码网 > it编程>前端脚本>Python > 使用Python在Excel工作表中创建数据透视表的方法

使用Python在Excel工作表中创建数据透视表的方法

2025年01月13日 Python 我要评论
引言在数据处理和分析工作中,excel作为一个广泛使用的工具,提供了强大的功能来管理和解析数据。当面对大量复杂的数据集时,为了更高效地总结、分析和展示数据,创建数据透视表成为一种不可或缺的方法。通过使

引言

在数据处理和分析工作中,excel作为一个广泛使用的工具,提供了强大的功能来管理和解析数据。当面对大量复杂的数据集时,为了更高效地总结、分析和展示数据,创建数据透视表成为一种不可或缺的方法。通过使用python这样的编程语言与excel工作表结合,我们能够自动化数据透视表的生成过程,不仅节省了时间,还能确保每次操作的一致性和准确性。本文将介绍如何使用python在excel工作表中创建数据透视表。

本文所使用的方法需要用到的spire.xls for python,pypi:pip install spire.xls

用python在excel工作表中创建数据透视表

在excel工作表汇总创建数据透视表时,我们需要先用指定的单元格范围通过workbook.pivotcaches.add(cellrange)方法创建一个xlspivotcache对象,然后再使用worksheet.pivottables.add(name: string, location: cellrange, xlspivotcache)基于xlspivotcache对象创建数据透视表。创建好之后,还需要对数据透视表的行字段、列字段、值字段等进行设置,最后制作成一个完善的数据透视表。以下是操作步骤示例:

  1. 导入所需的类workbookaxistypespivotbuiltinstylessubtotaltypes, 和 pivotautofomattypes
  2. 创建workbook类的实例。
  3. 使用workbook.loadfromfile方法载入指定路径的现有excel文件到工作簿实例中。
  4. 使用workbook.worksheets.get_item方法获取工作簿中的一个工作表。
  5. 定义数据源范围:通过worksheet.range.get_item方法选取单元格区域。
  6. 使用workbook.pivotcaches.add方法添加数据源范围到工作簿的缓存中创建一个xlspivotcache对象。
  7. 在当前工作表中定义位置并使用worksheet.pivottables.add方法以及之前创建的xlspivotcache对象创建一个数据透视表。数据透视表可创建在其他工作表中。
  8. 为数据透视表添加行字段,通过xlspivottable.pivotfields.get_item方法选择对应的列,并设置其轴类型为行。
  9. 添加列字段,同样通过xlspivottable.pivotfields.get_item方法选择列,并设置其轴类型为列。
  10. 添加值字段,选择需要求和的数据列,并通过xlspivottable.datafields.add方法添加到数据透视表中。
  11. 使用xlspivotcache.calculatedata()方法更新数据透视表值。
  12. 使用xlspivottable.builtinstyle属性应用内置样式。
  13. 使用xlspivottable.autoformattype属性设置数据透视表的自动格式类型。
  14. 使用workbook.savetofile方法保存修改后的工作簿到指定路径。
  15. 释放资源。

代码示例

from spire.xls import workbook, axistypes, pivotbuiltinstyles, subtotaltypes, pivotautofomattypes

# 创建workbook实例
workbook = workbook()

# 载入excel文件
workbook.loadfromfile("sample.xlsx")

# 获取第一个工作表
sheet = workbook.worksheets.get_item(0)

# 获取数据源单元格范围
datarange = sheet.range.get_item("a1:e143")

# 用数据源创建xlspivotcache对象
pivotcache = workbook.pivotcaches.add(datarange)

# 使用xlspivotcache对象在当前工作表中创建数据透视表
pivottable = sheet.pivottables.add("销售分析", sheet.range.get_item("g2"), pivotcache)

# 使用xlspivotcache对象在新的工作表中创建数据透视表
#sheet2 = workbook.worksheets.add("销售分析")
#pivottable2 = sheet.pivottables.add("销售分析", sheet.range.get_item("a1"), pivotcache)

# 添加行字段
rowfield1 = pivottable.pivotfields.get_item(sheet.range.get_item("c1").value)
rowfield1.axis = axistypes.row
rowfield2 = pivottable.pivotfields.get_item(sheet.range.get_item("d1").value)
rowfield2.axis = axistypes.row

# 添加列字段
columnfield1 = pivottable.pivotfields.get_item(sheet.range.get_item("b1").value)
columnfield1.axis = axistypes.column

# 添加值字段
datafield1 = pivottable.pivotfields.get_item(sheet.range.get_item("e1").value)
pivottable.datafields.add(datafield1, "求和项:" + sheet.range.get_item("e1").value, subtotaltypes.sum)

# 计算值
pivottable.calculatedata()

# 设置数据透视表样式
pivottable.builtinstyle = pivotbuiltinstyles.pivotstylelight2

# 设置数据透视表自动格式
pivottable.autoformattype = pivotautofomattypes.table2

# 保存工作簿
workbook.savetofile("output/excel数据透视表.xlsx")
workbook.dispose()

结果

本文演示如何使用python在excel工作表中创建数据透视表,提供操作详解以及代码示例。

到此这篇关于使用python在excel工作表中创建数据透视表的方法的文章就介绍到这了,更多相关python excel数据透视表内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com