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 相关文章推荐
Python SQLite3数据库操作类分享
Jun 10 Python
朴素贝叶斯算法的python实现方法
Nov 18 Python
python开发之thread线程基础实例入门
Nov 11 Python
Python+django实现简单的文件上传
Aug 17 Python
python递归函数绘制分形树的方法
Jun 22 Python
在Python中给Nan值更改为0的方法
Oct 30 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
Sep 15 Python
pytorch点乘与叉乘示例讲解
Dec 27 Python
tensorflow estimator 使用hook实现finetune方式
Jan 21 Python
将tensorflow模型打包成PB文件及PB文件读取方式
Jan 23 Python
Python对excel的基本操作方法
Feb 18 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
coreseek 搜索英文的问题详解
2013/06/08 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
精通JavaScript的this关键字
2020/05/28 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
Ionic项目中Native Camera的使用方法
2017/06/07 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
python简单实现获取当前时间
2016/08/27 Python
python使用matplotlib绘制折线图教程
2017/02/08 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
Made in Design英国:设计家具、照明、家庭装饰和花园家具
2019/09/24 全球购物
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
科级干部考察材料
2014/02/15 职场文书
党员2014两会学习心得体会
2014/03/17 职场文书
MySQL优化之慢日志查询
2022/06/10 MySQL