Python自动化合并多个Excel表格:从入门到实战

小林子
小林子
发布时间:2026-10-13| 5人浏览过
原创

本文介绍如何利用Python自动将多个Excel表格合并为一个汇总表。通过安装numpy、xlrd和xlwt库,编写脚本遍历指定文件夹下的所有xls文件,读取数据并写入新的Excel文件。文章提供了完整的代码示例及环境配置说明,适用于需要批量处理大量Excel数据的办公场景,显著提升工作效率。

在日常工作中,我们常遇到需要将多个Excel表格汇总为一个的情况。例如,收集全班同学的反馈表后,需要由专人进行数据整合。这类需求十分普遍。除了手动复制粘贴,我们可以利用Python实现自动化合并,从而节省时间并减少错误。

虽然可能存在其他更便捷的合并工具,但使用Python实现这一功能对于个人用户而言已经足够高效且实用。

假设当前文件夹中包含7个Excel表格(在实际场景中,可能需要合并100个甚至更多的文件)。

作为示例,每个表格内的数据结构保持一致,具体格式如下。

执行上述程序后,这7个表格被成功合并生名为test.xls的文件。

打开生成的test.xls文件,可以看到所有表格的数据已正确整合到同一个工作表中。

在运行代码前,请确保已安装numpy、xlrd和xlwt这三个Python扩展库。以下是具体的实现代码。

#下面这些变量需要您根据自己的具体情况选择 
biaotou=['学号','学生姓名','第一志愿','第二志愿','第三志愿','第四志愿','第五志愿','联系电话','性别','备注'] 
#在哪里搜索多个表格 
filelocation="C:\\Users\\ann\Documents\\Python Scripts\\" 
#当前文件夹下搜索的文件名后缀 
fileform="xls" 
#将合并后的表格存放到的位置 
filedestination="C:\\Users\\ann\Documents\\Python Scripts\\" 
#合并后的表格命名为file 
file="test" 
 
#首先查找默认文件夹下有多少文档需要整合 
import glob 
from numpy import * 
filearray=[] 
for filename in glob.glob(filelocation+"*."+fileform): 
 filearray.append(filename) 
#以上是从pythonscripts文件夹下读取所有excel表格,并将所有的名字存储到列表filearray 
print("在默认文件夹下有%d个文档哦"%len(filearray)) 
ge=len(filearray) 
matrix = [None]*ge 
#实现读写数据 
 
#下面是将所有文件读数据到三维列表cell[][][]中(不包含表头) 
import xlrd 
for i in range(ge): 
 fname=filearray[i] 
 bk=xlrd.open_workbook(fname) 
 try: 
 sh=bk.sheet_by_name("Sheet1") 
 except: 
 print ("在文件%s中没有找到sheet1,读取文件数据失败,要不你换换表格的名字?" %fname) 
 nrows=sh.nrows 
 matrix[i] = [0]*(nrows-1) 
 
 ncols=sh.ncols 
 for m in range(nrows-1): 
 matrix[i][m] = ["0"]*ncols 
 
 for j in range(1,nrows): 
 for k in range(0,ncols): 
  matrix[i][j-1][k]=sh.cell(j,k).value 
#下面是写数据到新的表格test.xls中哦 
import xlwt 
filename=xlwt.Workbook() 
sheet=filename.add_sheet("hel") 
#下面是把表头写上 
for i in range(0,len(biaotou)): 
 sheet.write(0,i,biaotou[i]) 
#求和前面的文件一共写了多少行 
zh=1 
for i in range(ge): 
 for j in range(len(matrix[i])): 
 for k in range(len(matrix[i][j])): 
  sheet.write(zh,k,matrix[i][j][k]) 
 zh=zh+1 
print("我已经将%d个文件合并成1个文件,并命名为%s.xls.快打开看看正确不?"%(ge,file)) 
filename.save(filedestination+file+".xls") 

本示例的运行环境为Windows 7 64位系统,Python版本为3.5.1(32位)。

以上就是本文的全部内容,希望能为您的学习提供帮助,也欢迎大家继续支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。