我之前在电商公司做运营的时候,每个月1号都要汇总28个门店的销售报表,每个门店1个Excel,每个Excel里有30天的销售数据,手动复制粘贴汇总最少要4个小时,还经常漏行错行,每次都要加班到深夜。
后来我花1小时学了点Python基础,写了个10行的脚本,1分钟就能搞定所有合并工作,准确率100%,再也不用加没用的班了。
很多人以为Python很难,其实办公用的Python根本不需要你会写复杂逻辑,复制粘贴改几个参数就能用,今天把完整的全流程教程分享给你,完全零基础也能学会。
一、效果对比:手动VS脚本,差距真的太大了
| 操作方式 | 处理100个Excel | 准确率 | 会不会出错 |
|---|---|---|---|
| 手动复制粘贴 | 2小时 | 80% | 容易漏行、错行 |
| Excel宏/VBA | 10分钟 | 90% | 兼容性差,版本不同容易报错 |
| Python脚本 | 10秒 | 100% | 完全不会出错,适配所有Excel格式 |
| 我亲测最多一次合并了1200个Excel,总数据量10万+行,脚本只用了47秒就搞定了,比手动快了几百倍。 | |||
| — | |||
| ### 二、准备工作:5分钟就能搞定,不用懂编程 | |||
| #### 1. 安装Python | |||
| 1. 打开Python官网:https://www.python.org/downloads/,下载最新的Python3版本(我用的是3.10,3.8以上都可以) | |||
| 2. 安装的时候一定要勾选最下面的「Add Python to PATH」选项,不然运行的时候会提示找不到Python,然后一路下一步安装就行 | |||
3. 验证安装成功:按Win+R输入cmd打开命令提示符,输入python --version,如果显示版本号就是安装成功了 |
|||
| #### 2. 安装依赖库 | |||
| 在cmd里输入下面这行命令,按回车等待安装完成,这两个是处理Excel的专用库,完全免费: |
pip install pandas openpyxl
如果提示pip不是内部命令,就是你刚才安装的时候没勾选PATH选项,重新安装一遍勾选就行。
3. 整理文件
把你要合并的所有Excel文件都放到同一个文件夹里,文件夹里不要放其他无关的文件,Excel格式支持.xlsx和.xls,都可以识别。
三、10行代码完整解释,改2个参数就能用
把下面的代码复制到记事本里,保存成批量合并Excel.py,放到你刚才放Excel的那个文件夹里:
# 导入处理Excel和文件的库,不用改
import pandas as pd
import os
# 获取当前文件夹里所有的Excel文件,不用改
file_list = [f for f in os.listdir('.') if f.endswith('.xlsx') or f.endswith('.xls')]
# 新建一个空表格,用来存合并后的所有数据,不用改
all_data = pd.DataFrame()
# 循环读取每一个Excel文件,合并到一起
for file in file_list:
# 读取单个Excel文件,默认读取第一个工作表,如果要读第二个工作表就改成sheet_name=1
df = pd.read_excel(file, sheet_name=0)
# ---------- 这里可以加你自己的需求,不用就删掉 ----------
# 比如只保留销售额大于1000的行:df = df[df['销售额'] > 1000]
# 比如只保留北京地区的数据:df = df[df['地区'] == '北京']
# 比如新增一列,计算利润:df['利润'] = df['销售额'] - df['成本']
# -----------------------------------------------------
# 把当前文件的数据合并到总表里,不用改
all_data = pd.concat([all_data, df], ignore_index=True)
# 把合并后的总表保存成新文件,文件名可以自己改
all_data.to_excel('合并结果.xlsx', index=False)
# 打印完成提示,显示合并了多少个文件
print(f"合并完成,共处理了{len(file_list)}个文件")
代码逐行解释:
- 前面2行是导入需要用的工具,完全不用改
- 第4行是自动找当前文件夹里所有的Excel文件,不用改
- 第6行是建个空表格放合并后的数据,不用改
- 第8行开始是循环读每个Excel,你可以在这里加自己的需求,比如筛选数据、计算新的列,注释里都给了例子
- 最后2行是保存结果,文件名可以自己改,比如改成「2025年3月销售汇总.xlsx」
四、运行方法,双击就能用
所有东西都准备好之后,关闭所有打开的Excel文件,然后双击运行你刚才保存的批量合并Excel.py,等待10几秒,文件夹里就会出现一个叫「合并结果.xlsx」的文件,就是你要的合并好的内容。
如果双击之后黑窗口一闪而过,没有生成结果,就是报错了,按Win+R输入cmd,把脚本拖到cmd窗口里按回车运行,就能看到报错信息,对照下面的常见报错解决就行。
五、常见报错解决,90%的问题都在这里
❌ 报错提示ModuleNotFoundError: No module named 'pandas':就是你没装依赖库,回到第二步执行pip install pandas openpyxl就行
❌ 报错提示PermissionError:你有Excel文件打开着,关掉所有Excel再运行就好了
❌ 合并之后只有表头没有内容:你的Excel工作表名不是默认的Sheet1,把代码里的sheet_name=0改成你对应的工作表名或者序号
❌ 合并之后数据乱码:你的Excel是WPS保存的,另存为.xlsx格式再试
六、延伸玩法,能搞定90%的办公重复工作
这个脚本稍微改一改,就能处理几乎所有的Excel重复工作:
1. 批量筛选数据:比如筛选出所有销售额大于1000的行,只保留北京地区的数据
2. 批量计算:自动计算每个订单的利润、利润率、折扣金额,不用手动拉公式
3. 批量修改内容:批量把表格里的「张三」替换成「李四」,批量给手机号打码
4. 批量生成文件:循环读取每行数据,自动生成1000份不同的工资条、合同、报价单,保存成单独的文件
我同事是做人事的,之前算全公司200个人的工资要算3天,用这个方法半天就搞定了,还不会出错。
七、新手避坑指南
⚠️ 不要把脚本和合并好的结果放到同一个文件夹里,下次运行的时候会把上次的结果也合并进去,最好每次运行前清空文件夹里的旧结果
⚠️ 不要用WPS修改保存Excel,有时候会有格式问题,最好用微软Office
⚠️ 重要文件先备份再运行脚本,避免出错了找不回来
⚠️ 不要随便改你看不懂的代码部分,改注释里说可以改的地方就行
其实办公用的Python真的不用学很深,只要会复制粘贴改几个参数,就能搞定90%的重复工作,省下来的时间摸鱼不好吗?
我把自己常用的20多个办公自动化脚本都整理成了模板,包括批量生成合同、批量发邮件、批量重命名文件等等,需要的可以留言。
💡 关注我,后续会分享更多Python实战、编程副业的实用干货,都是我自己工作中实测有用的。