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使用pygame模块编写俄罗斯方块游戏的代码实例
Dec 08 Python
Django 生成登陆验证码代码分享
Dec 12 Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 Python
Python中将dataframe转换为字典的实例
Apr 13 Python
在Python中构建增广矩阵的实现方法
Jul 01 Python
解决Django Static内容不能加载显示的问题
Jul 28 Python
python列表推导式入门学习解析
Dec 02 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
python 实现字符串下标的输出功能
Feb 13 Python
利用 Python ElementTree 生成 xml的实例
Mar 06 Python
Keras 使用 Lambda层详解
Jun 10 Python
Python引入多个模块及包的概念过程解析
Sep 21 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
PL-880隐藏功能
2021/03/01 无线电
社区(php&&mysql)二
2006/10/09 PHP
PHP 定界符 使用技巧
2009/06/14 PHP
PHP n个不重复的随机数生成代码
2009/06/23 PHP
php获取参数的几种方法总结
2014/02/18 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
laravel框架实现去掉URL中index.php的方法
2019/10/12 PHP
表格 隔行换色升级版
2009/11/07 Javascript
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
如何在vue中使用video.js播放m3u8格式的视频
2021/02/01 Vue.js
python学习笔记:字典的使用示例详解
2014/06/13 Python
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
python实现简单的购物程序代码实例
2020/03/03 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
诉讼代理人授权委托书
2014/04/08 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
2015年考研复习计划
2015/01/19 职场文书
新学期主题班会
2015/08/17 职场文书
班主任培训研修日志
2015/11/13 职场文书
正则表达式拆分url实例代码
2022/02/24 Java/Android
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android