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文档并合成一个文档。

相关推荐
进击的明明9 小时前
当AI开始“边想边干”:深入聊聊ReAct,以及如何用Python手搓一个简单Agent
python·面试·agent
全栈弄潮儿9 小时前
Python实战第8期:函数
后端·python·编程语言
卷无止境11 小时前
暗流与破局:AI时代的代码安全审查工具全景指南
后端·python
卷无止境14 小时前
一人公司的全栈选型指南:让 AI Agent 写得快,也让生意跑得稳
后端·python
众壹新能源科技15 小时前
逆变器自带无功不够用,加装5MVar SVG后功率因数从0.85回到0.99
运维·人工智能·自动化
滴啦嘟啦哒15 小时前
【具身笔记】【π0.5 微调与仿真】五、在MuJoCo中实现可视化仿真
笔记·python·vla·具身
全栈练习生16 小时前
AI安全与红队测试
python·ai
费曼学习法16 小时前
把「发送成功」当「送达」?我排查 IM 长消息被静默吞掉的完整过程
python·ai编程·自动化运维
鸽鸽程序猿16 小时前
【项目】【在线判题系统】b端题目增删改
开发语言·python
NetX行者16 小时前
Python 工程化入门:从脚本到规范的 Python 项目结构
网络·python