Python将多个excel表格合并为一个表格


Posted in Python onFebruary 22, 2021

生活中经常会碰到多个excel表格汇总成一个表格的情况,比如你发放了一份表格让班级所有同学填写,而你负责将大家的结果合并成一个。诸如此类的问题有很多。除了人工将所有表格的内容一个一个复制到汇总表格里,那么如何用Python自动实现这些工作呢~

我不知道有没有其他更方便的合并方法,先用Python实现这个功能,自己用就很方便了。

比如,在文件夹下有如下7个表格(想象一下有100个或更多的表格需要合并)

Python将多个excel表格合并为一个表格

作为样例,每个表格的内容均为

Python将多个excel表格合并为一个表格

运行程序,将7个表格合并成了test.xls

Python将多个excel表格合并为一个表格

打开test.xls,发现成功合并了多个表格的数据到一个表格里

Python将多个excel表格合并为一个表格

代码运行之前,需要安装Numpy,xlrd,xlwt三个扩展包。话不多说,代码如下

#下面这些变量需要您根据自己的具体情况选择 
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")

我的运行环境是windows7 ,64位。Python版本是3.5.1,32位。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
rhythmbox中文名乱码问题解决方法
Sep 06 Python
Python 连连看连接算法
Nov 22 Python
详解Python中的条件判断语句
May 14 Python
Python模块结构与布局操作方法实例分析
Jul 24 Python
python实现音乐下载器
Apr 15 Python
Python判断一个文件夹内哪些文件是图片的实例
Dec 07 Python
pandas进行时间数据的转换和计算时间差并提取年月日
Jul 06 Python
对python中不同模块(函数、类、变量)的调用详解
Jul 16 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
Aug 12 Python
python通过函数名调用函数的几种场景
Sep 23 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 Python
Autopep8的使用(python自动编排工具)
Mar 02 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 #Python
Python实现简易Web爬虫详解
Jan 03 #Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 #Python
使用 Python 实现微信公众号粉丝迁移流程
Jan 03 #Python
EM算法的python实现的方法步骤
Jan 02 #Python
Python+树莓派+YOLO打造一款人工智能照相机
Jan 02 #Python
matplotlib绘制动画代码示例
Jan 02 #Python
You might like
PHP中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
Bootstrap和Java分页实例第一篇
2016/12/23 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
使用JS组件实现带ToolTip验证框的实例代码
2017/08/23 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
python顺序执行多个py文件的方法
2019/06/29 Python
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
澳洲的服装老品牌:SABA
2018/02/06 全球购物
师范生实习的个人自我鉴定
2013/10/20 职场文书
《小猪家的桃花树》教学反思
2014/04/11 职场文书
婚礼答谢词
2015/01/04 职场文书
中秋客户感谢信
2015/01/22 职场文书
小学德育工作总结2015
2015/05/12 职场文书
社区宣传标语口号
2015/12/26 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
java解析XML详解
2021/07/09 Java/Android
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL