Python将多个excel文件合并为一个文件


Posted in Python onJanuary 03, 2018

利用Python,将多个excel文件合并为一个文件

思路

利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。

完整代码

# -*- coding: utf-8 -*-

#将多个Excel文件合并成一个
import xlrd
import xlsxwriter

#打开一个excel文件
def open_xls(file):
 fh=xlrd.open_workbook(file)
 return fh

#获取excel中所有的sheet表
def getsheet(fh):
 return fh.sheets()

#获取sheet表的行数
def getnrows(fh,sheet):
 table=fh.sheets()[sheet]
 return table.nrows

#读取文件内容并返回行内容
def getFilect(file,shnum):
 fh=open_xls(file)
 table=fh.sheets()[shnum]
 num=table.nrows
 for row in range(num):
  rdata=table.row_values(row)
  datavalue.append(rdata)
 return datavalue

#获取sheet表的个数
def getshnum(fh):
 x=0
 sh=getsheet(fh)
 for sheet in sh:
  x+=1
 return x


if __name__=='__main__':
 #定义要合并的excel文件列表
 allxls=['F:/test/excel1.xlsx','F:/test/excel2.xlsx']
 #存储所有读取的结果
 datavalue=[]
 for fl in allxls:
  fh=open_xls(fl)
  x=getshnum(fh)
  for shnum in range(x):
   print("正在读取文件:"+str(fl)+"的第"+str(shnum)+"个sheet表的内容...")
   rvalue=getFilect(fl,shnum)
 #定义最终合并后生成的新文件
 endfile='F:/test/excel3.xlsx'
 wb1=xlsxwriter.Workbook(endfile)
 #创建一个sheet工作对象
 ws=wb1.add_worksheet()
 for a in range(len(rvalue)):
  for b in range(len(rvalue[a])):
   c=rvalue[a][b]
   ws.write(a,b,c)
 wb1.close()
 print("文件合并完成")

源文件excel1:

Python将多个excel文件合并为一个文件Python将多个excel文件合并为一个文件

源文件excel2:

Python将多个excel文件合并为一个文件Python将多个excel文件合并为一个文件Python将多个excel文件合并为一个文件

运行结果:

Python将多个excel文件合并为一个文件

合并后的excel3:

Python将多个excel文件合并为一个文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中处理字符串之isalpha()方法的使用
May 18 Python
Python实现的视频播放器功能完整示例
Feb 01 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
Feb 21 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 Python
对numpy的array和python中自带的list之间相互转化详解
Apr 13 Python
Python符号计算之实现函数极限的方法
Jul 15 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
python线程信号量semaphore使用解析
Nov 30 Python
python图片剪裁代码(图片按四个点坐标剪裁)
Mar 10 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
Apr 01 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
python实现单机五子棋
Aug 28 Python
python中的字典操作及字典函数
Jan 03 #Python
Python将多个excel表格合并为一个表格
Feb 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
You might like
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
javascript实现的动态添加表单元素input,button等(appendChild)
2007/11/24 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
Javascript中this的用法详解
2014/09/22 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
vue实现商城购物车功能
2017/11/27 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
微信公众号生成新浪短网址的实现(快速生成)
2019/08/18 Javascript
[54:41]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VGJ.T VS paiN
2018/03/31 DOTA
Numpy数组的保存与读取方法
2018/04/04 Python
Python基于plotly模块实现的画图操作示例
2019/01/23 Python
python实现贪吃蛇游戏
2020/03/21 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
技术经理的自我评价范文
2013/12/03 职场文书
读书活动实施方案
2014/03/10 职场文书
工程建设实施方案
2014/03/14 职场文书
买房子个人收入证明
2014/10/12 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis