广告位联系
返回顶部
分享到

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

python 来源:互联网 作者:佚名 发布时间:2025-01-13 22:55:37 人浏览
摘要

在数据处理和分析工作中,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. 导入所需的类Workbook, AxisTypes, PivotBuiltInStyles, SubtotalTypes, 和 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. 释放资源。

代码示例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

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工作表中创建数据透视表,提供操作详解以及代码示例。


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 使用Python在Excel工作表中创建数据透视表的方法

    使用Python在Excel工作表中创建数据透视表的方法
    在数据处理和分析工作中,Excel作为一个广泛使用的工具,提供了强大的功能来管理和解析数据。当面对大量复杂的数据集时,为了更高效地
  • 基于Python实现的通用小规模搜索引擎

    基于Python实现的通用小规模搜索引擎
    1.1背景 《信息内容安全》网络信息内容获取技术课程项目设计 一个至少能支持10个以上网站的爬虫程序,且支持增量式数据采集;并至少采集
  • 使用python实现无需验证码免登录12306抢票功能

    使用python实现无需验证码免登录12306抢票功能
    就在刚刚我抢的票:2025年1月8日 上午9.00多 抢到了哈哈哈哈 其实还是有用的我是在 8:59:56运行程序的 上一篇帖子,我们已经了解了如何用
  • python字典根据key排序的实现
    在 Python 中,字典是无序的,不支持直接按照键排序。但是可以通过以下方法实现字典按照键排序: 方法一:使用 sorted() 函数和字典的 it
  • 在Ubuntu上部署Flask应用的流程步骤
    一、部署准备 在开始之前,请确保你具备以下条件: 一台运行 Ubuntu(如 Ubuntu 20.04 或 22.04)的服务器,具有 SSH 访问权限。 Python 应用程序
  • 怎么使用celery进行异步处理和定时任务(django)

    怎么使用celery进行异步处理和定时任务(django)
    一、celery的作用 celery 是一个简单、灵活且可靠的分布式系统,用于处理大量消息,同时为操作提供一致的接口。它专注于实时操作,但支持
  • 使用Python绘制蛇年春节祝福艺术图

    使用Python绘制蛇年春节祝福艺术图
    1. 绘图的基本概念 在 Python 中,我们将使用以下方法和模块完成绘制任务: matplotlib.patches 模块: 提供了绘制基本几何图形的功能,例如圆
  • Python如何实现HTTP echo服务器

    Python如何实现HTTP echo服务器
    一个用来做测试的简单的 HTTP echo 服务器。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 from ht
  • python中_init_.py的作用

    python中_init_.py的作用
    1. __init__.py 是个啥? __init__.py,顾名思义,这个文件名就透露出它是用来初始化的。在Python里,它主要用于标识一个目录是一个包(Package)
  • Python调用JavaScript代码的几种方法
    1. 使用PyExecJS执行JavaScript代码 PyExecJS是一个流行的Python库,它可以用来在Python中运行JavaScript代码。通过这个库,Python代码可以调用JS函数,
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计