Excel 30天极速自救指南 | Day 14:实战——把100个Excel合成1个,原来只要10行代码?
“每个月都要合并各分店的销售报表?打开-复制-粘贴-关闭……循环100次,比念经还枯燥。”
大家好,我是你们那位“能用代码合并表格,绝不手动复制粘贴”的博主。
恭喜你!我们已经走完了前两周的自救之旅。从Excel小白到能指挥Python干活,你已经掌握了:
-
用AI写公式、录宏、条件格式 -
用Python处理大数据、自动报表、发邮件、批量处理文件
但我知道,你的日常工作中还有一个顽固的敌人没解决——

合并多个Excel文件!
每个月/每周,你都要收集各个部门/分店的报表,然后手动打开一个一个复制粘贴到总表里。一个两个还好,如果是几十上百个文件,那就是体力活。
今天,我们就用10行Python代码,彻底终结这个噩梦。
场景导入:那个被100个Excel逼疯的周一
假设你是某公司的销售助理。每周一,全国100家分店都会发来各自的销售报表,文件名像这样:
text
北京店_销售周报.xlsx
上海店_销售周报.xlsx
广州店_销售周报.xlsx
深圳店_销售周报.xlsx
……
每个文件的格式都一样,都有这几列:日期、商品、销售额。你的任务是把这100个文件合并成一张总表,然后交给老板。
以前的你:
-
打开北京店文件,Ctrl+A全选,Ctrl+C复制 -
切换到总表,Ctrl+V粘贴 -
打开上海店文件,Ctrl+A全选,Ctrl+C复制 -
切换到总表,找到最后一行,Ctrl+V粘贴 -
重复100遍……
两三个小时后,你腰酸背痛、眼冒金星,还担心有没有漏掉某个店。

100个Excel文件围攻
现在的你:
写一个10行Python脚本,双击运行,3秒后所有数据合并完成。你端着咖啡,看着屏幕上一行行“正在处理xx店”,感觉自己像个黑客。
10行代码合并100个Excel
打开ChatGPT,输入:
“我是一个Python初学者。我有一个文件夹,里面有100个Excel文件,都是.xlsx格式,都有相同的列:‘日期’、‘商品’、‘销售额’。我想把这些文件全部合并成一个总表,保存为‘合并总表.xlsx’。请帮我写一个Python脚本,用pandas,每行加注释,并告诉我怎么运行。”
AI会给你类似这样的代码(我来帮你精简一下,真的只有10行核心代码):
python
import pandas as pd
import glob
# ========== 配置区 ==========
文件夹路径 = '分店报表'# 存放所有Excel文件的文件夹
输出文件名 = '合并总表.xlsx'# 合并后的文件名
# ============================
# 获取文件夹下所有Excel文件
所有文件 = glob.glob(f'{文件夹路径}/*.xlsx')
# 读取所有文件并合并
总表 = pd.DataFrame() # 创建一个空DataFrame
for 文件路径 in 所有文件:
df = pd.read_excel(文件路径) # 读取一个文件
总表 = pd.concat([总表, df], ignore_index=True) # 合并
# 保存合并后的表
总表.to_excel(输出文件名, index=False)
print(f'✨ 合并完成!共合并 {len(所有文件)} 个文件,总行数:{len(总表)}')
【截图位置:代码编辑器里显示这段代码,高亮配置区和循环部分】

10行代码奥特曼登场
没错,就这么几行!让我们逐行解释一下:
-
import pandas as pd:导入pandas库,给它起个小名叫pd -
import glob:导入glob库,用来找文件 -
文件夹路径 = ‘分店报表’:你的Excel文件放在哪个文件夹里(和脚本同目录下) -
所有文件 = glob.glob(f'{文件夹路径}/*.xlsx’):用glob找到文件夹下所有.xlsx文件,返回一个列表 -
总表 = pd.DataFrame():创建一个空的DataFrame,准备装合并后的数据 -
for 文件路径 in 所有文件::循环处理每一个文件 -
df = pd.read_excel(文件路径):用pandas读取这个Excel文件 -
总表 = pd.concat([总表, df], ignore_index=True):把刚读取的数据加到总表里,ignore_index=True让索引重新编号 -
总表.to_excel(输出文件名, index=False):把合并后的总表保存成Excel文件,不要保存索引列 -
print(…):打印完成信息
运行步骤
- 创建文件夹
:在电脑上新建一个文件夹,比如叫 分店报表 - 放入文件
:把所有要合并的Excel文件放进去(可以先用几个测试文件试试) - 保存脚本
:把上面的代码复制到一个新建的.py文件里,比如 合并报表.py,放到同一个文件夹外面(或者里面都可以,但路径要对) - 修改路径
:如果脚本和文件夹在同一级,文件夹路径直接写文件夹名;如果在不同目录,需要写完整路径 - 运行
:打开命令提示符,切换到脚本所在目录,输入 python 合并报表.py
几秒钟后,你会看到当前目录下生成了一个 合并总表.xlsx,打开看看,是不是所有数据都整整齐齐在一起了?
【截图位置:命令提示符显示运行过程,最后显示合并完成;Excel打开显示合并后的总表】

测试:自己造几个文件试试
如果你没有现成的100个文件,可以自己造几个测试文件:
-
打开Excel,随便写几行数据(比如日期、商品、销售额) -
另存为 测试1.xlsx -
修改一下数据,另存为 测试2.xlsx -
再做一个 测试3.xlsx -
把这3个文件放进 测试报表 文件夹 -
运行脚本,看看能不能合并成功
进阶:处理更多复杂情况
上面的脚本是最简单的版本。实际工作中可能会遇到各种情况,你可以让AI帮你升级:
1. 文件里多了一个“备注”列,有些文件有,有些没有?
告诉AI:“有的文件多了一列,我想只保留共有的列,或者统一列顺序。” AI会给你加上列对齐的逻辑。
2. 想知道每个数据来自哪个文件?
告诉AI:“合并时增加一列‘分店’,用文件名作为值(去掉.xlsx后缀)。” AI会给你加一行代码提取文件名。
python
df['分店'] = 文件名.replace('.xlsx', '')
3. 文件在不同的子文件夹里?
告诉AI:“文件在多个子文件夹里,要递归查找。” AI会教你用 **/*.xlsx 加上 recursive=True。
4. 只合并某个日期之后的数据?
告诉AI:“读取每个文件后,只保留日期大于2026-01-01的行再合并。” AI会在循环里加筛选条件。
今日“捣乱作业”
作业题目:
亲手实现“100个Excel合并”脚本,并用至少3个测试文件验证。
操作步骤:
-
创建至少3个Excel文件(可以简单复制粘贴几行数据) -
把这些文件放到一个文件夹里 -
复制今天的脚本,修改文件夹路径 -
运行脚本 -
截图运行结果(命令提示符界面 + 合并后的Excel文件截图) -
发评论区
挑战版:
让AI帮你增加一个功能——合并时在总表里添加一列“来源文件名”,并截图结果。
今日金句
“以前合并表格是体力活,现在合并表格是双击鼠标。”
博主碎碎念
今天你学会了用10行代码合并100个Excel文件。这个脚本是你以后工作中最常用的神器之一。
保存好这个脚本,以后遇到任何需要合并文件的场景,拿出来改改路径就能用。甚至可以让AI帮你把它包装成一个带界面的小工具,双击就能选文件夹、选文件类型,连代码都不用改。
明天Day 15,我们将进入第三周的正式课程:《Excel有眼睛了!用AI分析图表,比老板看得还透》。教你用AI自动分析图表数据,生成洞察报告,让你在汇报时显得特别有思想、有深度。
评论区交给你:
你平时需要合并Excel吗?最多一次合并过多少个?说出来让我们膜拜一下你的毅力(或者心疼一下你的手)。
点击关注,每天学一招,让Python给你打工!
#Python教学 #合并Excel #办公自动化 #告别复制粘贴 #效率神器
P.S. 今天的脚本一定要保存好!以后你的同事还在手动复制粘贴的时候,你可以优雅地双击脚本,然后告诉他们:“我刚喝了杯咖啡,顺手把活干完了。”
夜雨聆风
