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中list列表的高级函数
May 17 Python
python开启debug模式的方法
Jun 27 Python
在Python中构建增广矩阵的实现方法
Jul 01 Python
Python动态声明变量赋值代码实例
Dec 30 Python
pytorch实现mnist分类的示例讲解
Jan 10 Python
pytorch-神经网络拟合曲线实例
Jan 15 Python
tensorflow 实现自定义layer并添加到计算图中
Feb 04 Python
Python-for循环的内部机制
Jun 12 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 Python
Python调用REST API接口的几种方式汇总
Oct 19 Python
Python list和str互转的实现示例
Nov 16 Python
python自动从arxiv下载paper的示例代码
Dec 05 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
晶体管来复再生式二管收音机
2021/03/02 无线电
php设计模式 Command(命令模式)
2011/06/26 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
jQuery 使用手册(五)
2009/09/23 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
微信小程序动态添加分享数据
2017/06/14 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
python判断链表是否有环的实例代码
2020/01/31 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
如何利用python生成MD5并去重
2020/12/07 Python
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
美国在线家装零售商:Build.com
2016/09/02 全球购物
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
网站设计师的岗位职责
2013/11/21 职场文书
十八届三中全会宣传方案
2014/02/21 职场文书
股权转让协议书
2014/12/07 职场文书
小学教师年度个人总结
2015/02/05 职场文书
2015年依法行政工作总结
2015/04/29 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
写自招自荐信的绝招!
2019/04/19 职场文书
Pytorch GPU内存占用很高,但是利用率很低如何解决
2021/06/01 Python
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL
keepalived + nginx 实现高可用方案
2022/12/24 Servers