excel文件拆分,将多个sheet的文件拆分为多个文件

本文介绍如何利用Python将包含多个sheet的Excel文件拆分成单独的文件,每个sheet成为一个独立的xlsx文件。通过获取文件路径,打开Excel,读取每个sheet的数据,然后将每个sheet保存为新的文件来实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例子:
需要拆分的表,如图
在这里插入图片描述
拆分后:
在这里插入图片描述

思路:

1.获取需要拆分的文件的路径
def get_path_name(path):
    #获取文件路径,文件名(带后缀)
    (filepath,tempfilename)=os.path.split(path)
    #获取文件名(不带后缀),文件后缀
    (shortname,suffix)=os.path.splitext(tempfilename)
    # print(filepath)
    # print(tempfilename)
    # print(shortname)
    # print(suffix)
    return filepath
2.打开需要拆分的文件
wb=openpyxl.load_workbook(path)
3.获取每个sheet表的数据
#获取原文件sheet表的内容.以文本的形式读取,防止有较长的数字字符串,如订单号之类
sheet_data = pd.read_excel(path, sheet_name=i,dtype=str)
#填充没有数据的格子
sheet_data.fillna('')
4.将每个sheet表存为一个新的xlsx文件,文件名为sheet表名
 #将文件的sheet表名作为新xlsx文件的文件名
        path2 = get_path_name(path) + "\\" + i + ".xlsx"
        print(path2)
        sheet_data.to_excel(path2,sheet_name=i,index=False)

代码汇总:

import openpyxl
import os
import pandas as pd


def get_exceldata(path):
    wb=openpyxl.load_workbook(path)
    print(wb.sheetnames)
    for i in wb.sheetnames:
        #获取原文件sheet表的内容
        sheet_data = pd.read_excel(path, sheet_name=i,dtype=str)
        sheet_data.fillna('')

        #将文件的sheet表名作为新xlsx文件的文件名
        path2 = get_path_name(path) + "\\" + i + ".xlsx"
        print(path2)
        sheet_data.to_excel(path2,sheet_name=i,index=False)




def get_path_name(path):
    #获取文件路径,文件名(带后缀)
    (filepath,tempfilename)=os.path.split(path)
    #获取文件名(不带后缀),文件后缀
    (shortname,suffix)=os.path.splitext(tempfilename)
    # print(filepath)
    # print(tempfilename)
    # print(shortname)
    # print(suffix)
    return filepath

if __name__ == '__main__':
    path=input("输入需要拆分的文件(可直接拖入):")
    # path=r"C:\Users\Desktop\测试数据.xlsx"
    get_exceldata(path)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值