使用Python横向合并excel文件的实例


Posted in Python onDecember 11, 2018

起因:

有一批数据需要每个月进行分析,数据存储在excel中,行标题一致,需要横向合并进行分析。

数据示意:

使用Python横向合并excel文件的实例

具有多个

使用Python横向合并excel文件的实例

代码:

# -*- coding: utf-8 -*-
"""
Created on Sun Nov 12 11:19:03 2017
@author: Li Ying
"""
#读取第一列作为合并后表格的第一列
from pandas import read_csv
df = read_csv(r'E:\excel\vb\excel1.csv',header=None)
sample_name = df[0]
 
file="combine"
filedestination = "E://excel//"
import glob 
#from numpy import * 
filearray=[] 
for filename in glob.glob(r'E:\excel\*.xlsx'): 
 filearray.append(filename) 
#以上是从excel 文件夹下读取所有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) 
 
 ncols=sh.ncols
 matrix[i] = [0]*(ncols-1)
 
 nrows=sh.nrows
 for m in range(ncols-1):
  matrix[i][m] = ["0"]*nrows
 
 for k in range(1,ncols):
  for j in range(0,nrows):
   matrix[i][k-1][j]=sh.cell(j,k).value
 
import xlwt 
filename=xlwt.Workbook() 
sheet=filename.add_sheet("hel") 
#下面是把第一列写上 
for i in range(0,len(sample_name)): 
 sheet.write(i,0,sample_name[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(k,zh,matrix[i][j][k]) 
  zh=zh+1 
print("我已经将%d个文件合并成1个文件,并命名为%s.xlsx."%(ge,file)) 
filename.save(filedestination+file+".xls")

合并结果:

使用Python横向合并excel文件的实例

以上这篇使用Python横向合并excel文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python字符串和文件操作常用函数分析
Apr 08 Python
初步认识Python中的列表与位运算符
Oct 12 Python
使用Python的PIL模块来进行图片对比
Feb 18 Python
Python2实现的LED大数字显示效果示例
Sep 04 Python
python GUI实例学习
Nov 21 Python
Python集中化管理平台Ansible介绍与YAML简介
Jun 12 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
python使用 cx_Oracle 模块进行查询操作示例
Nov 28 Python
Django2 连接MySQL及model测试实例分析
Dec 10 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
python构造函数init实例方法解析
Jan 19 Python
python集合的新增元素方法整理
Dec 07 Python
padas 生成excel 增加sheet表的实例
Dec 11 #Python
python合并已经存在的sheet数据到新sheet的方法
Dec 11 #Python
Python 多线程不加锁分块读取文件的方法
Dec 11 #Python
对python读写文件去重、RE、set的使用详解
Dec 11 #Python
python版本五子棋的实现代码
Dec 11 #Python
python提取具有某种特定字符串的行数据方法
Dec 11 #Python
Python面向对象基础入门之编码细节与注意事项
Dec 11 #Python
You might like
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
2019/10/04 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
JavaScript 事件系统
2010/07/22 Javascript
web前端开发也需要日志
2010/12/09 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
JavaScript快速调试的两个技巧
2020/11/04 Javascript
phpsir 开发 一个检测百度关键字网站排名的python 程序
2009/09/17 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
快速了解Python相对导入
2018/01/12 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
Python实现打印实心和空心菱形
2019/11/23 Python
python dataframe NaN处理方式
2019/12/26 Python
python实现超级马里奥
2020/03/18 Python
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
美国现代家具网站:Design Within Reach
2018/07/19 全球购物
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
中学教师自我鉴定
2014/02/07 职场文书
财务部副经理岗位职责
2014/03/14 职场文书
网络营销策划方案
2014/06/04 职场文书
毕业生的自我鉴定表范文
2019/05/16 职场文书
java基础——多线程
2021/07/03 Java/Android
Java实现聊天机器人完善版
2021/07/04 Java/Android