Python 自动化之修理excel文件(一)

2023-12-13 05:50:04

excel文件的工作表拆分



前言

本文就简单介绍一下,如何将含有多个sheet表的excel文档–按照顺序–在指定目录下–将每个excel表保存成一个单独的文档;且新建的文档也会以工作表的名字来命名。


一、需要引入哪些库

代码如下:

from openpyxl import load_workbook
import pandas as pd

load_workbook:主要用来读取包含多个工作表的Excel文件
pd:创建一个新的DataFrame(用于表达二维数据)来存储数据


二、用户输入模块

代码如下:

print('请输入excel文档完整路径(例子:E:\BaiduNetdiskDownload\你好.xlsx):', end='')
excel_path = input()

print('打算在哪个目录下批量生成(例子:D:\dsest):', end='')
parent_directory = input()

第一块代码:按照提示的格式输入相应的excel文档。
第二块代码:输入要在哪个目录保存拆分的文件。


三、读取excel文档信息

代码如下:

# 读取包含多个工作表的Excel文件
wb = load_workbook(excel_path)

# 获取所有工作表的名字
sheet_names = wb.sheetnames

先是读取整个文档的信息,然后从中获取它的工作表的名字。下面会根据这个工作表的名字来做文章。


四、遍历保存工作表

这个的思路是:每遍历一个工作表,就会获取它的数据,然后生成新的excel文档保存它的数据,直至遍历完所有的工作表。

注意:以下代码都是在for循环结构下运行的。

1.获取并暂存工作表信息

代码如下:

i = 0
# 遍历所有工作表并将其保存为单独的Excel文件
for sheet in sheet_names:
    i += 1
    
    #获取工作表的数据
    ws = wb[sheet]
    data = ws.values 
    
    # 创建一个新的DataFrame来存储数据
    df = pd.DataFrame(data)

这里是遍历工作表并获取它的信息。
pd.DataFrame(data)的用处是常用来存储二维数据(懂了吧)。


2.指定路径保存文档

代码如下:

    # 将当前工作表保存为新的Excel文件
    output_file_name = str(f"{i}-{sheet}.xlsx")
    
    # 添加一个斜杠以确保路径正确
    output_path = parent_directory + '/' + output_file_name  
    
    #保存文档
    df.to_excel(output_path)

第一段代码:给新文档个名字
第二段代码:将用户输入的路径和名字组合起来。
第三段代码:根据第二段提供的信息,相应的生成文件。


总结

代码不多,很容易实现,小伙伴们快来试一下。
下篇我出个稍微复杂一点的,如何自动的去读取一个目录里的所有excel文档并合成一个文档。

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_57061292/article/details/134886454
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。