当前位置: 代码网 > it编程>前端脚本>Python > Python自动化处理Excel表格的方法详解

Python自动化处理Excel表格的方法详解

2026年02月03日 Python 我要评论
一、问题背景与解决方案概述每个月底整理各部门提交的excel表格,手动加总数据、处理空值、合并重复姓名……这些重复劳动既耗时又容易出错。其实用python写个简单脚本,几分

一、问题背景与解决方案概述

每个月底整理各部门提交的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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

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

发表评论

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