你是否每周都要打开十几个Excel报表,一个一个复制粘贴到总表?每当新来一个文件,又要手动调整公式?这种重复劳动既枯燥又容易出错。今天,我要分享一个真正能解放双手的技巧:使用Python的pandas+glob,只需三行核心代码,就能自动遍历文件夹、读取所有Excel文件并合并成一个干净的DataFrame。不止是合并,还能自动清洗、添加文件名列、处理不同表头,从原理到实战、从入门到进阶,手把手让你成为办公自动化高手。💡痛点场景:财务、运营、HR、销售每天面对成百上千个结构相似的Excel文件——日报、周报、分地区数据。手动操作不仅耗时,而且极易遗漏数据。pandas+glob组合拳让你轻松应对。🎯 一、为什么需要自动化处理Excel批文件?以销售数据为例:假设你有30个城市的分公司每天上传一个Excel销售报表,结构完全一致(列名为:日期、产品、销售额、数量)。总部需要汇总成一张总表做分析。人工操作需要打开每个文件→复制→粘贴到汇总表,至少30分钟以上,还要担心手抖错行。而用Python脚本,只要文件夹路径正确,三行核心代码搞定,耗时不到2秒,而且准确率100%。另外,当文件数量增长到300个时,人工几乎不可能完成,脚本却依然轻松应对。这就是自动化的魅力。🧩 二、pandas与glob:黄金搭档解析pandas是Python数据分析的标准库,提供DataFrame结构,可以像操作Excel表格一样处理数据,读取写入极为方便。glob是Python内置的路径匹配模块,支持通配符查找文件(比如获取某个文件夹下所有的 .xlsx 或 .csv)。二者结合能实现强大的批处理流水线。最简单的合并模板:import pandas as pd import glob # 三行核心代码(核心中的核心) all_files = glob.glob("data/*.xlsx") # 获取所有Excel文件路径 df_list = [pd.read_excel(f) for f in all_files] # 读取为DataFrame列表 merged_df = pd.concat(df_list, ignore_index=True) # 纵向合并 # 保存结果 merged_df.to_excel("合并结果.xlsx", index=False)是的,这短短几行就能让你告别手动合并!但我们不能止步于此,实际工作中文件可能有不同表头、多个sheet、或者需要添加来源标记等,下面我会深入讲解每个细节和扩展技巧。📁 三、环境准备与安装建议使用Python 3.8+,推荐Anaconda或PyCharm。安装必须库:pip install pandas openpyxl xlrd glob2 # openpyxl支持.xlsx读写,xlrd支持旧版.xls,glob为标准库无需安装验证安装:在Python交互环境中输入import pandas; print(pandas.__version__)无报错即可。同时准备示例文件夹,里面放几个测试Excel文件,每个文件包含相同列(如姓名、销量、日期)。🔧 小贴士:如果文件太多且内存较大,可以使用迭代或分块读取,后面会介绍内存优化方法。⚙️ 四、基础合并:处理不同场景(代码实战)4.1 合并所有xlsx文件(包括子文件夹)有时候文件分布在多级子目录中,glob可以使用递归语法**/*.xlsx