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

excel文件的工作表拆分


文章目录


前言

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


一、需要引入哪些库

代码如下:

python 复制代码
from openpyxl import load_workbook
import pandas as pd

load_workbook:主要用来读取包含多个工作表的Excel文件

pd:创建一个新的DataFrame(用于表达二维数据)来存储数据


二、用户输入模块

代码如下:

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

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

第一块代码:按照提示的格式输入相应的excel文档。

第二块代码:输入要在哪个目录保存拆分的文件。


三、读取excel文档信息

代码如下:

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

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

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


四、遍历保存工作表

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

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

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

代码如下:

python 复制代码
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.指定路径保存文档

代码如下:

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

第一段代码:给新文档个名字

第二段代码:将用户输入的路径和名字组合起来。

第三段代码:根据第二段提供的信息,相应的生成文件。


总结

代码不多,很容易实现,小伙伴们快来试一下。

下篇我出个稍微复杂一点的,如何自动的去读取一个目录里的所有excel文档并合成一个文档。

相关推荐
查古穆8 分钟前
python进阶-推导式
开发语言·python
☆56627 分钟前
如何为开源Python项目做贡献?
jvm·数据库·python
m0_5603964736 分钟前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
SEO-狼术37 分钟前
Improve Navigation with In-Cell Hyperlinks
python·pdf
2301_8166512239 分钟前
用Python监控系统日志并发送警报
jvm·数据库·python
飞Link1 小时前
Python Pydantic V2 核心原理解析与企业级实战指南
开发语言·python
志栋智能1 小时前
告别高昂投入:超自动化IT运维的轻量化实践
大数据·运维·网络·人工智能·自动化
优选资源分享1 小时前
zTasker v2.3.8 便携版丨 Windows 自动化任务工具
运维·windows·自动化
Betelgeuse761 小时前
Django 项目远程服务器部署教程:从开发到生产
python·django·vue