最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Python处理Excel数据分组的实用教程
时间:2026-05-31 08:30:01 编辑:袖梨 来源:一聚教程网
Excel数据分组是提升数据处理效率的关键技能,通过层级结构实现数据宏观与微观的自由切换。本文将详细介绍如何用Python代码实现这一功能,包含完整示例和实用技巧。
一、Excel 内置数据分组功能
1.1 行分组与列分组
Excel的分组功能位于"数据"选项卡下的"组合"菜单。选中连续行或列后点击分组按钮,Excel会生成可折叠的控制按钮。取消分组则通过"取消组合"功能实现。

1.2 分类汇总
更高级的分类汇总功能需要设置三个关键参数:选择分类字段、确定汇总方式、指定汇总项目。Excel会自动插入汇总行并生成可折叠的数据层次结构。

1.3 不足之处
手动操作的最大局限在于自动化程度不足,难以应对批量处理需求,这正是Python编程的优势所在。
二、Python 实现 Excel 数据分组
使用Free Spire.XLS for Python库可以轻松完成分组操作,通过pip安装命令如下:
pip install Spire.XLS.Free
该库提供四大核心功能:基础行/列分组、多级嵌套分组、分类汇总生成以及分组取消功能。
三、使用 Free Spire.XLS 创建基础行分组
通过Worksheet类的GroupByRows()和GroupByColumns()方法实现基础分组:
from spire.xls import *
from spire.xls.common import *
workbook = Workbook()
workbook.LoadFromFile("数据.xlsx")
sheet = workbook.Worksheets[0]
# 对第2到第10行进行分组
sheet.GroupByRows(2, 10, False)
# 保存结果
workbook.SaveToFile("行分组结果.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
参数说明:起始行索引、结束行索引和折叠状态设置。列分组方法类似:
sheet.GroupByColumns(4, 7, False)

四、创建嵌套分组
通过多次调用分组方法可实现多级嵌套结构:
from spire.xls import *
from spire.xls.common import *
workbook = Workbook()
workbook.LoadFromFile("数据.xlsx")
sheet = workbook.Worksheets[0]
# 外层分组
sheet.GroupByRows(2, 10, False)
# 内层分组
sheet.GroupByRows(3, 7, False)
workbook.SaveToFile("嵌套分组.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

五、创建分类汇总
使用Subtotal()方法实现带计算的分组汇总:
from spire.xls import *
from spire.xls.common import *
workbook = Workbook()
workbook.LoadFromFile("销售明细.xlsx")
sheet = workbook.Worksheets[0]
# 设置分类汇总参数
data_range = sheet.Range["A2:D5"]
sheet.Subtotal(data_range, 1, [3], SubtotalTypes.Sum, True, False, True)
workbook.SaveToFile("分类汇总结果.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

六、取消分组
使用UngroupByRows()和UngroupByColumns()方法可取消现有分组:
from spire.xls import *
from spire.xls.common import *
workbook = Workbook()
workbook.LoadFromFile("已分组文件.xlsx")
sheet = workbook.Worksheets[0]
# 取消行分组
sheet.UngroupByRows(2, 10)
# 取消列分组
sheet.UngroupByColumns(2, 4)
workbook.SaveToFile("取消分组后.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
本文详细讲解了Python实现Excel数据分组的全套方案,从基础分组到高级分类汇总,帮助开发者实现自动化数据处理流程,大幅提升工作效率。