python 按照sheet合并多个Excel的示例代码(多个sheet)

工作中会遇到这样的需求,有多个Excel的格式一样,都有多个sheet,且每个sheet的名字和格式一样,我们需要按照sheet 合并,就是说合并后的表的格式和合并钱的格式是一样的。A、B、C表格式如图

现在需要合并成下图:

我这次处理是保留第一个表的首行,其余的表的首行都不保留。因此结果会和上面有所不同,上面的是将所有的首行都保存

import xlrd,xlsxwriter

#待合并excel
allxls=["C:/xxx/xxx.xlsx",
        "C:/xxx/xxx.xlsx"]

#目标excel
end_xls="C:/xxx/merge.xlsx"

def open_xls(file):
    try:
        fh=xlrd.open_workbook(file)
        return fh
    except Exception as e:
        print("打开文件错误:"+e)

#根据excel名以及第几个标签信息就可以得到具体标签的内容
def get_file_value(filename,sheetnum):
    rvalue=[]
    fh=open_xls(filename)
    sheet=fh.sheets()[sheetnum]
    row_num=sheet.nrows
    for rownum in range(0,row_num):
        rvalue.append(sheet.row_values(rownum))
    return rvalue

def get_file_value_1(filename,sheetnum):
    rvalue=[]
    fh=open_xls(filename)
    sheet=fh.sheets()[sheetnum]
    row_num=sheet.nrows
    for rownum in range(1,row_num):
        rvalue.append(sheet.row_values(rownum))
    return rvalue
#获取第一个excel的sheet个数以及名字作为标准
first_file_fh=open_xls(allxls[0])
first_file_sheet=first_file_fh.sheets()
first_file_sheet_num=len(first_file_sheet)
sheet_name=[]
for sheetname in first_file_sheet:
    sheet_name.append(sheetname.name)

#定义一个目标excel
endxls=xlsxwriter.Workbook(end_xls)

all_sheet_value=[]

#把所有内容都放到列表all_sheet_value中
for sheet_num in range(0,first_file_sheet_num):
    all_sheet_value.append([])
    for i,file_name in enumerate(allxls):
        if i==0:
            print("正在读取"+file_name+"的第"+str(sheet_num+1)+"个标签...")
            file_value=get_file_value(file_name,sheet_num)
            all_sheet_value[sheet_num].append(file_value)
        else:
            print("正在读取"+file_name+"的第"+str(sheet_num+1)+"个标签...")
            file_value=get_file_value_1(file_name,sheet_num)
            all_sheet_value[sheet_num].append(file_value)

#print(all_sheet_value)

num=-1
sheet_index=-1

#将列表all_sheet_value的内容写入目标excel
for sheet in all_sheet_value:
    sheet_index+=1
    end_xls_sheet=endxls.add_worksheet(sheet_name[sheet_index])
    num+=1
    num1=-1
    for sheet1 in sheet:
        for sheet2 in sheet1:
            num1+=1
            num2=-1
            for sheet3 in sheet2:
                num2+=1
                #print(num,num1,num2,sheet3)
                #在第num1行的第num2列写入sheet3的内容
                end_xls_sheet.write(num1,num2,sheet3)

endxls.close()

到此这篇关于python 按照sheet合并多个Excel的示例代码(多个sheet)的文章就介绍到这了,更多相关python 合并多个excel内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

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

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

  • 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文件合并到同一个文件的方法

    应用场景:使用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多个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 合并多个格式一致的 Excel 文件(推荐)

    一 问题描述 最近朋友在工作中遇到这样一个问题,她每天都要处理如下一批 Excel 表格:每个表格的都只有一个 sheet,表格的前两行为表格标题及表头,表格的最后一行是相关人员签字.最终目标是将每个表格的内容合并到一个 Excel 表格中,使之成为一张表格.在她未咨询我之前,每天复制粘贴这一类操作占用了她绝大部分时间.表格样式如下: 二 需求分析 根据她的描述,最终需求应该是这样的:在这一批表格中选取任意一个表格的前两行作为新表格的标题与表头,将这两行内容以嵌套列表的形式插入一个名为 data

  • python 按照sheet合并多个Excel的示例代码(多个sheet)

    工作中会遇到这样的需求,有多个Excel的格式一样,都有多个sheet,且每个sheet的名字和格式一样,我们需要按照sheet 合并,就是说合并后的表的格式和合并钱的格式是一样的.A.B.C表格式如图 现在需要合并成下图: 我这次处理是保留第一个表的首行,其余的表的首行都不保留.因此结果会和上面有所不同,上面的是将所有的首行都保存 import xlrd,xlsxwriter #待合并excel allxls=["C:/xxx/xxx.xlsx", "C:/xxx/xxx.

  • Pandas实现批量拆分与合并Excel的示例代码

    目录 前言 一.拆分成小表格 二.合并excel 1.介绍 2.代码 前言 提示:这里可以添加本文要记录的大概内容: 将一个EXCEL等份拆成多个EXCEL 将多个小EXCEL合并成一个大EXCEL并标记来源 提示:以下是本篇文章正文内容,下面案例可供参考 一.拆分成小表格 代码如下(示例): import pandas as pd import os work_dir=r"G:\360Downloads\myself\zuoye\合并拆分" splits_dir=f"{wo

  • Java实现将CSV转为Excel的示例代码

    目录 一.程序环境 二.将CSV转为Excel 补充 CSV(Comma Separated Values)文件是一种纯文本文件,包含用逗号分隔的数据,常用于将数据从一个应用程序导入或导出到另一个应用程序.通过将CSV文件转为EXCEL,可执行更多关于数据编辑.格式设置等操作.下面,将通过Java代码展示如何来实现转换. 一.程序环境 可通过以下途径来导入jar: 1. 从 Maven 仓库下载安装,需在pom.xml中配置如下内容: <repositories> <repository

  • Python+Matplotlib绘制双y轴图像的示例代码

    目录 双Y轴图简介 实现思路 实现代码 样式一 样式二 双Y轴图简介 双Y轴图顾名思义就是在一个图里有两个Y轴.这种图形主要用来展示两个因变量和一个自变量的关系并且两个因变量的数值单位还不同.如我们想要展示不同月份公司销业绩以及成本的变化情况这时就可以用双Y轴图来展示.(因变量销量和成本具有不同的单位). 实现思路 绘制双y轴的思想,也是用到了matplotlib面向对象绘图的思想.在不指定位置的情况下,在一个画布上创建出两个坐标系,其中第一个坐标系正常创建,第二个坐标系则使用专有的twinx(

  • ASP.Net MVC利用NPOI导入导出Excel的示例代码

    什么是NPOI 该项目是位于http://poi.apache.org/的POI Java项目的.NET版本.POI是一个开源项目,可以帮助您读取/写入xls,doc,ppt文件.它有着广泛的应用.本文给大家介绍ASP.Net MVC利用NPOI导入导出Excel的问题. 因近期项目遇到所以记录一下: 首先导出Excel: 首先引用NPOI包 (Action一定要用FileResult) /// <summary> /// 批量导出本校第一批派位学生 /// </summary>

  • 实现easyui的datagrid导出为excel的示例代码

    之前有介绍过如何实现easyui里datagrid内容的打印,今天给大家介绍下如何实现datagrid内容导出为excel文件.以下为代码实现: export.js function ChangeToTable(printDatagrid) { var tableString = '<table cellspacing="0" class="pb">'; var frozenColumns = printDatagrid.datagrid("o

  • Python编程pygame模块实现移动的小车示例代码

    Pygame是跨平台Python模块,专为电子游戏设计,包含图像.声音.建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚. 最近一个星期学习了一下python的pygame模块,顺便做个小程序巩固所学的,运行效果如下: 其中,背景图"highway.jpg"是使用PhotoShop将其分辨率改变为640 × 480,而小车"car.png"则是将其转变为png格式的图片,并且填充其背景色,让其拥有透明性. 代码测试可用: # -*

  • Python使用pickle模块存储数据报错解决示例代码

    本文研究的主要是Python使用pickle模块存储数据报错解决方法,以代码的形式展示,具体如下. 首先来了解下pickle模块 pickle提供了一个简单的持久化功能.可以将对象以文件的形式存放在磁盘上. pickle模块只能在python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化, pickle序列化后的数据,可读性差,人一般无法识别. 接下来我们看下Python使用pickle模块存储数据报错解决方法. 代码: # 写入错误 TypeEr

  • python 中if else 语句的作用及示例代码

    引入:if-else的作用,满足一个条件做什么,否则做什么. if-else语句语法结构 if 判断条件: 要执行的代码 else: 要执行的代码 判断条件:一般为关系表达式或bool类型的值 执行过程:程序运行到if处,首先判断所带的条件,如果条件成立,就是返回值是True,则执行下面的代码:如果条件不成立则返回值是False, 则继续执行下面的代码. 示例1:模拟用户登录 提示输入用户名和密码 如果用户名是Admin,密码等于123.com, 提示用户登录成功 如果用户名不是Admin,提示

  • Python调用百度根据经纬度查询地址的示例代码

    如下所示: def locatebyLatLng(lat, lng, pois=0): ''' 根据经纬度查询地址 ''' items = {'location': str(lat) + ',' + str(lng), 'ak': '你自己申请的百度ak', 'output': 'json'} res = requests.get('http://api.map.baidu.com/geocoder/v2/', params=items) result = res.json() print(re

随机推荐