Python自动化处理Excel表格的方法详解
作者:IT小本本
这篇文章主要为大家详细介绍了使用Python自动化处理Excel表格的方法,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解下
一、问题背景与解决方案概述
每个月底整理各部门提交的Excel表格,手动加总数据、处理空值、合并重复姓名……这些重复劳动既耗时又容易出错。
其实用Python写个简单脚本,几分钟就能搞定。
二、场景示例
比如收到这样的表格data260202.xlsx:

需要按姓名汇总各月数据,还要处理空值和可能的重复姓名。
三、全部代码实现
import pandas as pd
# 读取数据
df = pd.read_excel('data260202.xlsx')
# 清洗姓名列
df['名称'] = df['名称'].astype(str).str.strip()
df = df[df['名称'] != '']
# 自动识别月份列(除“名称”外的所有列)
month_cols = [col for col in df.columns if col != '名称']
# 空值转0,非数字转0
for col in month_cols:
df[col] = pd.to_numeric(df[col], errors='coerce').fillna(0)
# 按姓名汇总
result = df.groupby('名称', as_index=False)[month_cols].sum()
# 添加总计并排序
result['总计'] = result[month_cols].sum(axis=1)
result = result.sort_values('名称').reset_index(drop=True)
# 输出结果
print(result.to_string(index=False))
result.to_excel('月度汇总报表.xlsx', index=False)
四、方法优势
- 自动适配月份:新增“4月”“5月”列无需修改代码,只要列名不是“名称”都会被纳入计算
- 空值友好:空白单元格、文字内容自动转为0,避免报错
- 合并重复项:同名人员的数据自动累加
- 结果可复用:同时输出到控制台和Excel,方便核对与存档
运行后生成的报表:

五、复杂场景扩展
1.列名含“月”字但格式杂乱
改用:
month_cols = [col for col in df.columns if '月' in str(col)]
2.跨年数据(如“2026年1月”)
用正则匹配:
import re
month_cols = [col for col in df.columns
if re.search(r'\d+月$|\d+年\d+月', str(col))]3.需要按部门+姓名两级汇总
假设表格有“部门”列:
result = df.groupby(['部门', '名称'])[month_cols].sum().reset_index()
六、快速上手指南
- 安装依赖:
pip install pandas openpyxl - 将Excel文件与脚本放在同一目录
- 运行脚本,自动生成
月度汇总报表.xlsx
适合财务、运营、项目管理等需要定期汇总数据的岗位。某电商团队用类似脚本将月度报表处理时间从2小时缩短到10秒,且再未出现手工计算错误。
代码虽短,解决的是实实在在的重复劳动。把机械工作交给程序,人去做更有价值的事。
到此这篇关于Python自动化处理Excel表格的方法详解的文章就介绍到这了,更多相关Python自动化处理Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
