使用Python 在Excel中创建和取消数据分组 - 详解

[复制链接]
发表于 2025-12-20 08:04:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
目次
使用工具
Python在Excel中创建行和列分组
Python在Excel中创建嵌套分组
Python获取Excel中的行和列的大纲级别
Python睁开或折叠Excel中的分组
Python在Excel中创建分类汇总
Python取消Excel中的行和列分组

Excel中的分组是一种通过添加层级结构将相邻行或列构造在一起的功能。当分组完成后,用户可以通过折叠或睁开数据组来简化数据视图。这种功能特殊实用于包罗多条理结构的数据,大概须要隐蔽部门数据以便专注于特定内容的场景。这篇博客将先容怎样使用Python在Excel中创建或取消数据分组,紧张涵盖以下内容:


  • Python在Excel中创建行和列分组
  • Python在Excel中创建嵌套分组
  • Python获取Excel中的行和列的大纲级别
  • Python睁开或折叠Excel中的分组
  • Python在Excel中创建分类汇总
  • Python取消Excel中的行和列分组
使用工具

在Python中,可以使用Spire.XLS for Python库来实如今Excel中创建和取消数据分组。
Spire.XLS for Python紧张用于在Python应用步伐中创建、读取、编辑和转换Excel文件。它可以处理处罚多种电子表格格式,包罗XLS、XLSX、XLSB、XLSM和ODS等。别的,还可以将Excel文件转换为其他文件格式,如PDF、HTML、CSV、文本、图像、XML、SVG、ODS、PostScript和XPS。
你可通过在终端运行以下下令来安装Spire.XLS for Python:
  1. pip install Spire.Xls
复制代码
Python在Excel中创建行和列分组

Spire.XLS for Python提供了Worksheet.GroupByRows()Worksheet.GroupByColumns()方法,分别用于对Excel工作表中的行和列的数据举行分组。
这些方法的参数如下:


  • 分组的起始行或起始列的索引。
  • 分组的竣事行或竣事列索引。
  • 是否折叠分组,True表现折叠,False表现睁开。
下面是使用Python对Excel工作表中的行和枚举行分组的实今世码:
  1. from spire.xls import *
  2. # 打开一个Excel文件
  3. workbook = Workbook()
  4. workbook.LoadFromFile("数据.xlsx")
  5. # 获取第一个工作表
  6. sheet = workbook.Worksheets[0]
  7. # 分组第2-6行
  8. sheet.GroupByRows(2, 6, False)
  9. # 分组第2-3列
  10. sheet.GroupByColumns(2, 3, False)
  11. # 保存结果文件
  12. workbook.SaveToFile("创建分组.xlsx", ExcelVersion.Version2016)
  13. workbook.Dispose()
复制代码
Python在Excel中创建嵌套分组

嵌套分组是指将一个分组嵌套在另一个分组之内,从而形成多条理的数据结构。比方,在贩卖数据中,可以按“地区”分组,然后在每个地区内再按“贩卖职员”举行分组。如许,数据的构造结构更加清楚,而且便于分析。
要在Excel工作表中创建嵌套行或列分组,可以通过多次使用Worksheet.GroupByRows()Worksheet.GroupByColumns()方法来实现。
下面是使用Python在Excel工作表中创建嵌套行分组的实今世码:
  1. from spire.xls import *
  2. # 打开一个Excel文件
  3. workbook = Workbook()
  4. workbook.LoadFromFile("数据.xlsx")
  5. # 获取第一个工作表
  6. sheet = workbook.Worksheets[0]
  7. # 分组第2-11行
  8. sheet.GroupByRows(2, 11, False)
  9. # 在以上分组中创建嵌套分组
  10. sheet.GroupByRows(2, 6, False)
  11. # 保存结果文件
  12. workbook.SaveToFile("创建嵌套分组.xlsx", ExcelVersion.Version2016)
  13. workbook.Dispose()
复制代码
Python获取Excel中的行和列的大纲级别

工作表中行或列的默认大纲级别为0,表现该行列当前未分组。每次分组时,大纲级别会相应地增长1。通过使用Worksheet.Range[].RowGroupLevelWorksheet.Range[].ColumnGroupLevel属性,可以获取特定行或列的大纲级别。
下面是获取Excel工作表中特定行和列的大纲级别的实今世码:
  1. from spire.xls import *
  2. # 打开一个Excel文件
  3. workbook = Workbook()
  4. workbook.LoadFromFile("创建分组.xlsx")
  5. # 获取第一个工作表
  6. sheet = workbook.Worksheets[0]
  7. # 获取特定行和列的大纲级别
  8. row_outline_level = sheet.Range["A2"].RowGroupLevel
  9. col_outline_level = sheet.Range["C1"].ColumnGroupLevel
  10. # 打印大纲级别
  11. print(f"单元格A2的行大纲级别:{row_outline_level}")
  12. print(f"单元格C1的列大纲级别:{col_outline_level}")
  13. workbook.Dispose()
复制代码
Python睁开或折叠Excel中的分组

要睁开或折叠Excel工作表中的分组数据,可以使用Worksheet.Range[].ExpandGroupWorksheet.Range[].CollapseGroup方法,前者用于睁开分组,后者用于折叠分组。
下面是使用Python在Excel中睁开或折叠分组数据的实今世码:
  1. from spire.xls import *
  2. # 打开一个Excel文件
  3. workbook = Workbook()
  4. workbook.LoadFromFile("创建分组.xlsx")
  5. # 获取第一个工作表
  6. sheet = workbook.Worksheets[0]
  7. # 折叠指定单元格区域内的分组行
  8. sheet.Range["A2:C6"].CollapseGroup(GroupByType.ByRows)
  9. # 或者展开指定单元格区域内的分组行
  10. # sheet.Range["A2:C6"].ExpandGroup(GroupByType.ByRows)
  11. # 折叠指定单元格区域内的分组列
  12. sheet.Range["B1:C11"].CollapseGroup(GroupByType.ByColumns)
  13. # 或者展开指定单元格区域内的分组列
  14. # sheet.Range["B2:C11"].ExpandGroup(GroupByType.ByColumns)
  15. # 保存结果文件
  16. workbook.SaveToFile("折叠分组.xlsx", ExcelVersion.Version2016)
  17. workbook.Dispose()
复制代码
Python在Excel中创建分类汇总

Excel中的SUBTOTAL函数允许用户对数据举行分组并主动实行特定的分类汇总使用,如求和、计数、均匀值、乘积和最大值。
在Spire.XLS中,可以使用Worksheet.Subtotal()方法为数据添加分类汇总。该方法的参数如下:


  • 数据地区:指定须要举行分类汇总的单位格地区。
  • 分组依据:按哪一列的索引对数据举行分组。
  • 汇总列:须要举行汇总盘算的列索引列表。
  • 汇总范例:选择用于盘算分类汇总的函数范例,比方求和 (Sum)、计数 (Count) 等。
  • 更换现有汇总:是否更换当前分类汇总,True 表现更换,False 表现保存。
  • 插入分页符:是否每组数据分页,True 表现分页,False 表现不分页。
  • 表现位置:是否将汇总表如今数据下方,True 表现表如今下方,False 表现表如今上方。
下面是使用Python为Excel工作表中指定命据地区添加分类汇总的实今世码:
  1. from spire.xls import *
  2. # 打开一个Excel文件
  3. workbook = Workbook()
  4. workbook.LoadFromFile("数据.xlsx")
  5. # 获取第一个工作表
  6. sheet = workbook.Worksheets[0]
  7. # 为指定的数据区域创建分类汇总
  8. cell_range = sheet.Range["A2:C11"]
  9. sheet.Subtotal(cell_range, 0, [2], SubtotalTypes.Sum, True, False, True)
  10. # 保存结果文件
  11. workbook.SaveToFile("添加分类汇总.xlsx", ExcelVersion.Version2016)
  12. workbook.Dispose()
复制代码
Python取消Excel中的行和列分组

固然分组功能有利于检察特定命据,但偶然间须要取消分组以便检察整个数据集。
要取消Excel工作表中的分组,可以使用Worksheet.UngroupByRows()Worksheet.UngroupByColumns()方法,前者用于取消行分组,后者用于取消列分组。
下面是使用Python取消Excel工作表中的行和列分组的实今世码:
  1. from spire.xls import *
  2. # 打开一个Excel文件
  3. workbook = Workbook()
  4. workbook.LoadFromFile("创建分组.xlsx")
  5. # 获取第一个工作表
  6. sheet = workbook.Worksheets[0]
  7. # 取消分组第2-6行
  8. sheet.UngroupByRows(2, 6)
  9. # 取消分组第2-3列
  10. sheet.UngroupByColumns(2, 3)
  11. # 保存结果文件
  12. workbook.SaveToFile("取消分组.xlsx", ExcelVersion.Version2016)
  13. workbook.Dispose()
复制代码
以上就是使用Python在Excel中创建和取消数据分组的全部内容。感谢阅读!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表