Python 合并/拆分Excel的实现示例

 更新时间:2023年09月21日 16:24:49   作者:gongzairen  
有时对于多个工作表需要进行合并或拆分,以便进行浏览总结,本文主要介绍了Python 合并/拆分Excel的实现示例,具有一定的参考价值,感兴趣的可以了解一下

python对于合并excel本篇文章给出合并xlsx文件的方法,xls的方法不在本文介绍

拆分数据可以适用于xlsx或xls

合并excel

先读取所有的excel,得到df列表,在将这个df列表 按行进行合并

import pandas as pd
# 读取所有xlsx
def read_xlsx(xlsx_list):
    """
    :param xlsx_list: xlsx文件列表
    :return: 
    """
    if len(xlsx_list) == 0 or xlsx_list is None:
        print("没有任何xlsx文件,无法读取数据")
        return
    df_list = []
    for xlsx in xlsx_list:
        df = pd.read_excel(xlsx)
        df_list.append(df)
    return df_list
# 合并xlsx
def merge_xlsx(df_list):
    """
    :param df_list: df列表
    :return: 
    """
    if len(df_list) == 0 or df_list is None:
        print("没有任何df,无法合并数据")
        return
    merged_df = pd.concat(df_list, axis=0)
    xlsx_path = "文件保存路径"
    merged_df.to_excel(xlsx_path, index=False)
    return xlsx_path
file_list = ["xlsx文件路径1","xlsx文件路径2","xlsx文件路径3","xlsx文件路径4"]
read_df_list = read_xlsx(file_list)
merged_file = merge_xlsx(read_df_list)
print(f"合并后的文件路径:{merged_file}")

拆分excel

按照指定的行数对原表的数据进行拆分,拆分的数据每一个表格会保留表头(标题行)

import xlrd
import xlwt
import pandas as pd
# 拆分数据
def split_file(file_path):
    """
    将传入的xls文件格式的表格进行,按照指定行数进行拆分
    :return: 返回拆分后的文件路径列表
    """
    if file_path is None:
        print("没有需要拆分的表格")
        return
    split_rows = 500  # 每个表拆分数据的行数
    wb = xlrd.open_workbook(file_path)
    sheet = wb.sheet_by_index(0)
    total_rows = sheet.nrows
    split_size = split_rows + 1
    header = sheet.row_values(0)
    # 拆分大于指定的长度的文件
    first_file = True
    for i in range(total_rows // split_size):
        if first_file:  # 如果是第一个文件则从第二行开始(跳过表头)
            start_row = i * split_size + 1
            first_file = False
        else:
            start_row = i * split_size
        end_row = start_row + split_rows
        data = [sheet.row_values(j) for j in range(start_row, end_row)]
        filename = f'拆分的文件_{i + 1}.xls'
        workbook = xlwt.Workbook()
        sheet_new = workbook.add_sheet("Sheet1")
        for col_index, value in enumerate(header):
            sheet_new.write(0, col_index, value)  # 写入表头
        for row_index, row in enumerate(data):
            for col_index, value in enumerate(row):
                sheet_new.write(row_index + 1, col_index, value)  # 写入数据
        workbook.save(filename)
        print(f"拆分的文件路径:{filename}")
your_file_path = "需要拆分的表格路径"
split_file(your_file_path )

到此这篇关于Python 合并/拆分Excel的实现示例的文章就介绍到这了,更多相关Python 合并/拆分Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python3爬虫ChromeDriver的安装实例

    Python3爬虫ChromeDriver的安装实例

    在本篇文章里小编给大家整理的是一篇关于Python3爬虫ChromeDriver的安装实例内容,有兴趣的朋友们可以学习参考下。
    2021-02-02
  • 详解python tkinter模块安装过程

    详解python tkinter模块安装过程

    tkinter其实是Python调用tcl程序的标准Python程序,可以通过这个interface调用tcl的程序,因为在大多数的unix系统中都内置了很多的tcl程序和命令。这篇文章主要介绍了python tkinter模块安装,需要的朋友可以参考下
    2020-01-01
  • Python实现读取机器硬件信息的方法示例

    Python实现读取机器硬件信息的方法示例

    这篇文章主要介绍了Python实现读取机器硬件信息的方法,涉及Python针对计算机注册表、操作系统、处理器、网络等常见硬件信息读取操作相关实现技巧,需要的朋友可以参考下
    2018-06-06
  • 使用Python pyglet库编写一个可播放音乐的扬声器类流程详解

    使用Python pyglet库编写一个可播放音乐的扬声器类流程详解

    这篇文章主要介绍了使用Python pyglet库编写一个可播放音乐的扬声器类,Pyglet主要用于创建视频游戏、独立游戏和多媒体应用,它提供了一组用于制作游戏的常用功能,包括图形渲染、声音播放、事件处理等等,需要的朋友可以参考下
    2024-03-03
  • Python中的Numpy 矩阵运算

    Python中的Numpy 矩阵运算

    这篇文章介绍Python中的Numpy 矩阵运算,NumPy是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,下面详细内容,需要的朋友可以参考一下
    2021-11-11
  • python函数的默认参数请勿定义可变类型详解

    python函数的默认参数请勿定义可变类型详解

    这篇文章主要介绍了python函数的默认参数请勿定义可变类型详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • python代码能做成软件吗

    python代码能做成软件吗

    在本篇内容里小编给大家分享的是一篇关于把python代码做成软件的方法,有兴趣的朋友们可以阅读下。
    2020-07-07
  • python数组处理之最值与下标问题

    python数组处理之最值与下标问题

    这篇文章主要介绍了python数组处理之最值与下标问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • numpy.reshape(-1,1)的具体使用

    numpy.reshape(-1,1)的具体使用

    本文主要介绍了numpy.reshape(-1,1)的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • python实现微信每日一句自动发送给喜欢的人

    python实现微信每日一句自动发送给喜欢的人

    这篇文章主要为大家详细介绍了python实现微信每日一句自动发送给喜欢的人,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04

最新评论