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中关于时间和日期函数的常用计算总结(time和datatime)
Mar 08 Python
黑科技 Python脚本帮你找出微信上删除你好友的人
Jan 07 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
将Django项目部署到CentOs服务器中
Oct 18 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
Dec 28 Python
Python数据报表之Excel操作模块用法分析
Mar 11 Python
Python 变量的创建过程详解
Sep 02 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
Sep 23 Python
python 已知平行四边形三个点,求第四个点的案例
Apr 12 Python
OpenCV 之按位运算举例解析
Jun 19 Python
python实现经纬度采样的示例代码
Dec 10 Python
python使用torch随机初始化参数
Mar 22 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
Yii入门教程之Yii安装及hello world
2014/11/25 PHP
PHP防止刷新重复提交页面的示例代码
2015/11/11 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
2007/01/22 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
React Native 使用Fetch发送网络请求的示例代码
2017/12/02 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
vue实现防抖的实例代码
2021/01/11 Vue.js
python 显示数组全部元素的方法
2018/04/19 Python
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
python Plotly绘图工具的简单使用
2020/03/03 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
Python自动化操作实现图例绘制
2020/07/09 Python
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
2020/11/10 HTML / CSS
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
公司道歉信范文
2014/01/09 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
门店店长岗位职责
2015/04/14 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
详细了解MVC+proxy
2021/07/09 Java/Android