返回顶部
首页 > 资讯 > 后端开发 > Python >python合并多个excel的详细过程
  • 189
分享到

python合并多个excel的详细过程

2024-04-02 19:04:59 189人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录前言代码编写1.导包2.定义位置和表头3.获取要合并的所有exce表格4.打开Exce文件5.获取exce文件下的所有sheet6.获取sheet下有多少行数据7.获取sheet

前言

1.工作中,经常需要合并多个excel文件。如果文件数量比较多,则工作量大,易出错,此时,可以使用python来快速的完成合并。

2.使用方法:将需要合并的多个Excel文件放到同一个文件夹下,程序运行后,输入文件夹目录的地址即可,完成合并后会将合并后的文件放在当前目录下。

3.可以查看代码的详细编写,或者直接到最后复制完整代码使用。

代码编写

1.导包

import os
import xlrd
import xlsxwriter
import glob

2.定义位置和表头

biao_tou = "NULL"
wei_zhi = "NULL"

3.获取要合并的所有exce表格

def get_exce():
    global wei_zhi
    wei_zhi = input("请输入Excel文件所在的目录:")
    all_exce = glob.glob(wei_zhi + "*.xls")
    print("该目录下有" + str(len(all_exce)) + "个excel文件:")
    if (len(all_exce) == 0):
        return 0
    else:
        for i in range(len(all_exce)):
            print(all_exce[i])
        return all_exce

4.打开Exce文件

def open_exce(name):
    fh = xlrd.open_workbook(name)
    return fh

5.获取exce文件下的所有sheet

# 获取exce文件下的所有sheet
def get_sheet(fh):
    sheets = fh.sheets()
    return sheets

6.获取sheet下有多少行数据

def get_sheetrow_num(sheet):
    return sheet.nrows

7.获取sheet下的数据

def get_sheet_data(sheet, row):
    for i in range(row):
        if (i == 0):
            global biao_tou
            biao_tou = sheet.row_values(i)
            continue
        values = sheet.row_values(i)
        all_data1.append(values)

    return all_data1

8.主函数

if __name__ == '__main__':
    all_exce = get_exce()
    # 得到要合并的所有exce表格数据
    if (all_exce == 0):
        print("该目录下无.xls文件!请检查您输入的目录是否有误!")
        os.system('pause')
        exit()

    all_data1 = []
    # 用于保存合并的所有行的数据

    # 下面开始文件数据的获取
    for exce in all_exce:
        fh = open_exce(exce)
        # 打开文件
        sheets = get_sheet(fh)
        # 获取文件下的sheet数量

        for sheet in range(len(sheets)):
            row = get_sheetrow_num(sheets[sheet])
            # 获取一个sheet下的所有的数据的行数

            all_data2 = get_sheet_data(sheets[sheet], row)
            # 获取一个sheet下的所有行的数据

    all_data1.insert(0, biao_tou)
    # 表头写入

    # 下面开始文件数据的写入
    new_exce = wei_zhi + "总数据.xlsx"
    # 新建的exce文件名字

    fh1 = xlsxwriter.Workbook(new_exce)
    # 新建一个exce表

    new_sheet = fh1.add_worksheet()
    # 新建一个sheet表

    for i in range(len(all_data1)):
        for j in range(len(all_data1[i])):
            c = all_data1[i][j]
            new_sheet.write(i, j, c)

    fh1.close()
    # 关闭该exce表

    print("文件合并成功,请查看“" + wei_zhi + "”目录下的总数据.xlsx文件!")

    os.system('pause')
    os.system('pause')

完整代码

import os
import xlrd
import xlsxwriter
import glob

biao_tou = "NULL"
wei_zhi = "NULL"

# 获取要合并的所有exce表格
def get_exce():
    global wei_zhi
    wei_zhi = input("请输入Excel文件所在的目录:")
    all_exce = glob.glob(wei_zhi + "*.xls")
    print("该目录下有" + str(len(all_exce)) + "个excel文件:")
    if (len(all_exce) == 0):
        return 0
    else:
        for i in range(len(all_exce)):
            print(all_exce[i])
        return all_exce

# 打开Exce文件
def open_exce(name):
    fh = xlrd.open_workbook(name)
    return fh

# 获取exce文件下的所有sheet
def get_sheet(fh):
    sheets = fh.sheets()
    return sheets

# 获取sheet下有多少行数据
def get_sheetrow_num(sheet):
    return sheet.nrows

# 获取sheet下的数据
def get_sheet_data(sheet, row):
    for i in range(row):
        if (i == 0):
            global biao_tou
            biao_tou = sheet.row_values(i)
            continue
        values = sheet.row_values(i)
        all_data1.append(values)

    return all_data1

if __name__ == '__main__':
    all_exce = get_exce()
    # 得到要合并的所有exce表格数据
    if (all_exce == 0):
        print("该目录下无.xls文件!请检查您输入的目录是否有误!")
        os.system('pause')
        exit()

    all_data1 = []
    # 用于保存合并的所有行的数据

    # 下面开始文件数据的获取
    for exce in all_exce:
        fh = open_exce(exce)
        # 打开文件
        sheets = get_sheet(fh)
        # 获取文件下的sheet数量

        for sheet in range(len(sheets)):
            row = get_sheetrow_num(sheets[sheet])
            # 获取一个sheet下的所有的数据的行数

            all_data2 = get_sheet_data(sheets[sheet], row)
            # 获取一个sheet下的所有行的数据

    all_data1.insert(0, biao_tou)
    # 表头写入

    # 下面开始文件数据的写入
    new_exce = wei_zhi + "总数据.xlsx"
    # 新建的exce文件名字

    fh1 = xlsxwriter.Workbook(new_exce)
    # 新建一个exce表

    new_sheet = fh1.add_worksheet()
    # 新建一个sheet表

    for i in range(len(all_data1)):
        for j in range(len(all_data1[i])):
            c = all_data1[i][j]
            new_sheet.write(i, j, c)

    fh1.close()
    # 关闭该exce表

    print("文件合并成功,请查看“" + wei_zhi + "”目录下的总数据.xlsx文件!")

    os.system('pause')
    os.system('pause')

总结

到此这篇关于Python合并多个excel的文章就介绍到这了,更多相关python合并多个excel内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python合并多个excel的详细过程

本文链接: https://lsjlt.com/news/120665.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python合并多个excel的详细过程
    目录前言代码编写1.导包2.定义位置和表头3.获取要合并的所有exce表格4.打开Exce文件5.获取exce文件下的所有sheet6.获取sheet下有多少行数据7.获取sheet...
    99+
    2024-04-02
  • 如何用python合并多个excel文件
    目录安装模块 XlsxWriter 示例 合并Excel数据 表头都一样的 excel 表头都不一样的 excel 表头都不一样的 excel 安装模块 1、找到对应的模块 &nb...
    99+
    2024-04-02
  • 怎么用python合并多个excel文件
    本篇内容主要讲解“怎么用python合并多个excel文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用python合并多个excel文件”吧!python可以做什么Python是一种编程...
    99+
    2023-06-14
  • python——对多个Excel文件的多个sheet表分别合并
            工作中遇到需要合并多个sheet表的逐月数据的excel文件。即对多月数据,依据sheet表进行合并,最终形成年度数据。(该方法不要求文件名有规律,也不要求sheet表名称有规律) 如:文件结构     以下为处理方法: ...
    99+
    2023-09-23
    python excel
  • python 按照sheet合并多个Excel的示例代码(多个sheet)
    工作中会遇到这样的需求,有多个Excel的格式一样,都有多个sheet,且每个sheet的名字和格式一样,我们需要按照sheet 合并,就是说合并后的表的格式和合并钱的格式是一样的。...
    99+
    2024-04-02
  • Python在不同场景合并多个Excel的方法
    目录前言01 合并多个同字段的excel02 拼接多个不同字段的excel03 合并一个excel的多个sheet前言 三种场景: 多个同字段的excel文件合并成一个excel多个...
    99+
    2024-04-02
  • 怎么用Python代码合并多个Excel文件
    这篇文章主要介绍“怎么用Python代码合并多个Excel文件”,在日常操作中,相信很多人在怎么用Python代码合并多个Excel文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python代码合并...
    99+
    2023-06-16
  • Python合并Excel表(多sheet)的实现
    使用xlrd模块和xlwt模块 解题思想:xlwt模块是非追加写.xls的模块,所以要借助for循环和列表,来一次性写入,这样就没有追加与非追加的说法。 而合并Excel表,把每个...
    99+
    2024-04-02
  • vbs如何合并多个excel文件
    这篇文章将为大家详细讲解有关vbs如何合并多个excel文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:Const xlWorkbookNormal = -4143 Const xlSaveC...
    99+
    2023-06-08
  • 利用Python读取Excel表内容的详细过程
    目录用python读取excel表中的数据这里再多说一下,np.hstack()函数和 np.vstack()函数:总结用python读取excel表中的数据 假如说有如下一张存储了...
    99+
    2024-04-02
  • SpringBoot整合RocketMQ的详细过程
    目录1. SpringBoot整合RocketMQ2 使用RocketMQ会遇到的问题2.1 WARN No appenders could be found for logger2...
    99+
    2023-05-15
    SpringBoot整合RocketMQ SpringBoot RocketMQ使用
  • SpringBoot 整合 Docker的详细过程
    目录1. Demo Project1.1 接口准备1.2 配置准备2. Docker 开启远程连接1.1 修改配置文件1.2 刷新配置、重启1.3 认证登录3. IDEA 安装 Do...
    99+
    2024-04-02
  • 多个 EXCEL文件怎么合并成一个文件
    今天就跟大家聊聊有关多个 EXCEL文件怎么合并成一个文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。同一文件夹里有多个格式相同的EXCEL文件,需要把它们合并到一个EXCEL文件...
    99+
    2023-06-03
  • Python基于win32com客户端实现Excel操作的详细过程
    目录测试环境代码实现非多线程场景下使用新建并保存EXCEL读取现有EXCEL多线程场景下使用参考连接测试环境 Python 3.6.2 代码实现 非多线程场景下使用 新建并保存EXC...
    99+
    2023-05-18
    Python Excel操作 Python win32com Excel操作
  • idea新建聚合项目并附上标签的详细过程
    首先新建父工程 新建spring boot项目 填写项目信息 指定该子项目的路径 如果是组件类型的子项目 可以删除application.xml和启动类 父工程pom文件 ...
    99+
    2024-04-02
  • SpringBoot整合redis及mongodb的详细过程
    目录一、先看Redis的使用:1. 在pom.XML中添加Redis相关依赖项2. 在application.properties中添加Redis的相关配置3. 新建 service/RedisService 接口及其实...
    99+
    2024-04-02
  • SpringBoot整合Mysql和Redis的详细过程
    目录一、项目创建 1.1 创建项目1.2 目录结构1.3 pom.xml配置文件二、初始化数据库三、初始化代码3.1 实体类entity3.2 Mapper接口类3.3 R...
    99+
    2024-04-02
  • Knife4j 3.0.3 整合SpringBoot 2.6.4的详细过程
    目录一、引入依赖二、代码配置三、配置文件四、页面功能1.主页2.Swagger Modules五、如何使用1.在controller上加两个注解:2.方法上加注解六、参数设置七、非实...
    99+
    2024-04-02
  • springboot整合swagger3和knife4j的详细过程
    目录依赖application.yml配置swagger配置类controller测试swagger常用注解说明@Api@ApiOperation@ApiImplicitParams...
    99+
    2022-11-16
    springboot整合swagger3 springboot整合swagger
  • Java 并发(多线程)超详细
    Java 并发 此文章已收录至项目 Developer-Knowledge-Base 信息来源 https://www.cnblogs.com/snow-flower/p/6114765.html j...
    99+
    2023-09-06
    java 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作