当前位置:首页>python>【自动办公实战】用Python处理Excel月度汇总,30行代码就够了

【自动办公实战】用Python处理Excel月度汇总,30行代码就够了

  • 2026-09-10 21:53:29
【自动办公实战】用Python处理Excel月度汇总,30行代码就够了

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

每个月底整理各部门提交的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,非数字转0for 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,方便核对与存档

运行后生成的报表:

五、复杂场景扩展

  • 列名含“月”字但格式杂乱改用:month_cols = [col for col in df.columns if '月' in str(col)]

  • 跨年数据(如“2026年1月”)用正则匹配:

    import remonth_cols = [col for col in df.columns if re.search(r'\d+月$|\d+年\d+月', str(col))]
  • 需要按部门+姓名两级汇总假设表格有“部门”列:result = df.groupby(['部门', '名称'])[month_cols].sum().reset_index()

六、快速上手指南

  1. 安装依赖:pip install pandas openpyxl
  2. 将Excel文件与脚本放在同一目录
  3. 运行脚本,自动生成月度汇总报表.xlsx

适合财务、运营、项目管理等需要定期汇总数据的岗位。某电商团队用类似脚本将月度报表处理时间从2小时缩短到10秒,且再未出现手工计算错误。

代码虽短,解决的是实实在在的重复劳动。把机械工作交给程序,人去做更有价值的事。

为了能随时获取最新动态,大家可以动动小手将公众号添加到“星标⭐”哦,点赞 + 关注,用时不迷路!!!!

关注公众号:IT小本本 👇

用时不迷路!!

最新文章

随机文章