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从ftp下载数据保存实例
Nov 20 Python
python基础教程之类class定义使用方法
Feb 20 Python
python网络编程学习笔记(九):数据库客户端 DB-API
Jun 09 Python
python实现将元祖转换成数组的方法
May 04 Python
python使用pil生成图片验证码的方法
May 08 Python
Python简单遍历字典及删除元素的方法
Sep 18 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
python设定并获取socket超时时间的方法
Jan 12 Python
Python开启线程,在函数中开线程的实例
Feb 22 Python
详解python解压压缩包的五种方法
Jul 05 Python
Python callable内置函数原理解析
Mar 05 Python
解决python便携版无法直接运行py文件的问题
Sep 01 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中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
PHP利用百度ai实现文本和图片审核
2019/05/08 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
javascript prototype 原型链
2009/03/12 Javascript
学习面向对象之面向对象的术语
2010/11/30 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
js返回前一页刷新本页重载页面
2014/07/29 Javascript
简述AngularJS相关的一些编程思想
2015/06/23 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
2017/04/24 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
通过Kettle自定义jar包供javascript使用
2020/01/29 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
python操作字典类型的常用方法(推荐)
2016/05/16 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
快速查询Python文档方法分享
2017/12/27 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
2020/05/20 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
Pygame框架实现飞机大战
2020/08/07 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
高二物理教学反思
2014/02/08 职场文书
消防安全月活动总结
2015/05/08 职场文书
GO中sync包自由控制并发示例详解
2022/08/05 Golang