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

起因:

有一批数据需要每个月进行分析,数据存储在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文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2018-12-08

python合并同类型excel表格的方法

本文实例为大家分享了python合并同类型excel表格的具体代码,供大家参考,具体内容如下 python脚本如下,验证有效. #!/usr/bin/env python # -*- coding: UTF-8 -*- import os, csv class CSVTopoIreator: def __init__(self, filename): self.infile = open(filename, 'rb') self.reader = csv.reader(self.infile)

Python合并多个Excel数据的方法

安装模块 1.找到对应的模块   http://www.python-excel.org/ 2.用pip install 安装 pip install xlrd pip install XlsxWriter pip list查看 XlsxWriter示例 import xlsxwriter # 创建一个工作簿并添加一个工作表 workbook = xlsxwriter.Workbook("demo.xlsx") worksheet = workbook.add_worksheet()

Python批量合并有合并单元格的Excel文件详解

合并单元格 合并单元格相信大家都会,比如下面这段简单的代码就可以实现: app='Word' word=win32.gencache.EnsureDispatch('%s.Application' % app) doc=word.Documents.Add() word.Visible=False #Title begin sel =word.Selection sel.Font.Name = u"微软雅黑" sel.Font.Size = 8 sel.Font.Bold = Fals

使用python将多个excel文件合并到同一个文件的方法

应用场景:使用pandas把多个相同结构的Excel文件合并为一个. 原始数据: 相关代码: import os import pandas as pd # 将文件读取出来放一个列表里面 pwd = 'test' # 获取文件目录 # 新建列表,存放文件名 file_list = [] # 新建列表存放每个文件数据(依次读取多个相同结构的Excel文件并创建DataFrame) dfs = [] for root,dirs,files in os.walk(pwd): # 第一个为起始路径,第二

Python实现合并excel表格的方法分析

本文实例讲述了Python实现合并excel表格的方法.分享给大家供大家参考,具体如下: 需求 将一个文件夹中的excel表格合并成我们想要的形式,主要要pandas中的concat()函数 思路 用os库将所需要处理的表格放到同一个列表中,然后遍历列表,依次把所有文件纵向连接起来. 最开始的第一种思路是先拿一个文件出来,然后让这个文件依次去和列表中的剩余文件合并: 第二种是用文件夹中第一个文件和剩余的文件合并,使用range(1,len(file)),可以省去单独取第一个文件的步骤. 遇到的问

python 实现读取一个excel多个sheet表并合并的方法

如下所示: import xlrd import pandas as pd from pandas import DataFrame DATA_DIR = 'E:/' excel_name = '%s2017.xls' % DATA_DIR wb = xlrd.open_workbook(excel_name) # print(wb) # 获取workbook中所有的表格 sheets = wb.sheet_names() # print(sheets) # 循环遍历所有sheet df_28

python之DataFrame实现excel合并单元格

在工作中经常遇到需要将数据输出到excel,且需要对其中一些单元格进行合并,比如如下表表格,需要根据A列的值,合并B.C列的对应单元格 pandas中的to_excel方法只能对索引进行合并,而xlsxwriter中,虽然提供有merge_range方法,但是这只是一个和基础的方法,每次都需要编写繁琐的测试才能最终调好,而且不能很好的重用.所以想自己写一个方法,结合dataframe和merge_range.大概思路是: 1.定义一个MY_DataFrame类,继承DataFrame类,这样能很

Python将多个excel表格合并为一个表格

生活中经常会碰到多个excel表格汇总成一个表格的情况,比如你发放了一份表格让班级所有同学填写,而你负责将大家的结果合并成一个.诸如此类的问题有很多.除了人工将所有表格的内容一个一个复制到汇总表格里,那么如何用Python自动实现这些工作呢~ 我不知道有没有其他更方便的合并方法,先用Python实现这个功能,自己用就很方便了. 比如,在文件夹下有如下7个表格(想象一下有100个或更多的表格需要合并) 作为样例,每个表格的内容均为 运行程序,将7个表格合并成了test.xls 打开test.xls

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

利用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 #

shell命令实现当前目录下多个文件合并为一个文件的方法

当前目录下多个文件合并为一个文件 1.将多个文件合并为一个文件没有添加换行符 find ./ -name "iptv_authenticate_201801*" | xargs cat > iptv_authenticate.txt 2.设置换行符^J find ./ -name "iptv_authenticate_201801*" | xargs sed 'a\^J' > iptv_authenticate.txt 3.默认换行符 find ./ -

Python导出数据到Excel可读取的CSV文件的方法

本文实例讲述了Python导出数据到Excel可读取的CSV文件的方法.分享给大家供大家参考.具体实现方法如下: import csv with open('eggs.csv', 'wb') as csvfile: #spamwriter = csv.writer(csvfile, delimiter=' ',quotechar='|', #quoting=csv.QUOTE_MINIMAL) spamwriter = csv.writer(csvfile, dialect='excel') s

Python实现将目录中TXT合并成一个大TXT文件的方法

本文实例讲述了Python实现将目录中TXT合并成一个大TXT文件的方法.分享给大家供大家参考.具体如下: 在网上下了一个dota的英雄攻略,TXT格式,每个英雄一个文件,看得疼,就写了一个小东西,合并一下. #coding=gbk import os import sys import glob def dirTxtToLargeTxt(dir,outputFileName): '''从dir目录下读入所有的TXT文件,将它们写到outputFileName里去''' #如果dir不是目录返回

Python结合ImageMagick实现多张图片合并为一个pdf文件的方法

本文实例讲述了Python结合ImageMagick实现多张图片合并为一个pdf文件的方法.分享给大家供大家参考,具体如下: 前段时间买了不少书,现在手头的书籍积累的越来越多,北京这边租住的小屋子空间越来越满了.自从习惯了笔记本触摸板的手势操作之后,我偶觉得使用电脑看电子文档也挺享受的.于是想把自己的部分书籍使用手机拍照,然后合并成一个pdf文件. 最初尝试过找成熟的Windows软件,但是始终没有找到一个好用的软件.想写脚本处理,一直也没有实现.偶然查看ImageMagick软件的说明,找到了

Android编程读取Assets所有文件(遍历每一个文件夹)并存入sdcard的方法

本文实例讲述了Android编程读取Assets所有文件(遍历每一个文件夹)并存入sdcard的方法.分享给大家供大家参考,具体如下: private void CopyAssets(String assetDir, String dir) { String[] files; try { // 获得Assets一共有几多文件 files = this.getResources().getAssets().list(assetDir); } catch (IOException e1) { ret

C#实现复制文件夹中文件到另一个文件夹的方法

本文实例讲述了C#实现复制文件夹中文件到另一个文件夹的方法.分享给大家供大家参考.具体如下: private void CopyDir(string srcPath, string aimPath) { try { // 检查目标目录是否以目录分割字符结束如果不是则添加 if (aimPath[aimPath.Length - 1] != System.IO.Path.DirectorySeparatorChar) { aimPath += System.IO.Path.DirectorySep

Pycharm 实现下一个文件引用另外一个文件的方法

换了个电脑重新安装了Anaconda和Pycharm,把原来的项目导进去之后,有几个文件用到了另外几个文件里面的东西,引用老是报错. 如下图的位置,我这里已经修复了所以没看到标红啦: 问了别人,改一个地方的设置就好了. 如上图所示,右键选中当前project-->Mark Directory as --> Sources Root. 以上这篇Pycharm 实现下一个文件引用另外一个文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.