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实现多行注释的另类方法
Aug 22 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
May 03 Python
python对DICOM图像的读取方法详解
Jul 17 Python
Python实现调用另一个路径下py文件中的函数方法总结
Jun 07 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
Python 获取 datax 执行结果保存到数据库的方法
Jul 11 Python
python同时替换多个字符串方法示例
Sep 17 Python
PYTHON实现SIGN签名的过程解析
Oct 28 Python
python matplotlib折线图样式实现过程
Nov 04 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
Python如何将模块打包并发布
Aug 30 Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 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 数组和字符串互相转换实现方法
2013/03/26 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
js 返回时间戳所对应的具体时间
2010/07/20 Javascript
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
2016/10/28 Javascript
微信小程序中单位rpx和rem的使用
2016/12/06 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
vue实现按钮切换图片
2021/01/20 Vue.js
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
Python判断直线和矩形是否相交的方法
2015/07/14 Python
python数据结构之链表详解
2017/09/12 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
一套.net面试题及答案
2016/11/02 面试题
日语求职信范文
2013/12/17 职场文书
鲜果饮品店创业计划书
2014/01/21 职场文书
会计专业求职信范文
2015/03/19 职场文书
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers
GPU服务器的多用户配置方法
2022/07/07 Servers