python根据excel的文件创建文件夹

这几天要整理一点文档,需要批量生成一些文件夹,(其实也可以进一步自动生成各种文档),用到了py的功能,在此记录一下。

1.准备工作

需要两个库支持openpyxl和os

安装

python 复制代码
pip install openpyxl

2.代码思路

打算先用openpyxl库的函数来读取excel,把数据拿出来以后放在一个字典里,然后把字典的数据用//拼接成一个路径。

可以偷懒直接在excel的目录下生成文件夹数据就好。

然后用os的库来创建文件夹。

os.makedirs()可以用来创建文件夹

3.测试数据

创建了一个excel文件。计划是创建一个学校文件夹,下面有一小和二小。然后分别对应年级和班级用来测试

4.代码部分

python 复制代码
import openpyxl
import os

def parse_excel(excel_path):
    workbook = openpyxl.load_workbook(excel_path)#打开excel
    sheet = workbook.active#获取当前excel的数据
    directory_stack = []  # 创建一个字典用来装目录
    for row in sheet.iter_rows(min_row=1, values_only=True):#min_row用来控制从第几行开始,默认是1
        for i, cell_value in enumerate(row):
            if cell_value is not None and cell_value != "@":
                directory_stack = directory_stack[:i]  # 清空目录栈中当前行级别及以下的目录,                
                directory_stack.append(cell_value)  # 将当前目录加入目录栈
                directory_path = "\\".join(directory_stack)  # 构建完整的目录路径
                folder_path = excel_path.replace(os.path.basename(excel_path), "") + directory_path#把目录拼接在当前excel的当前目录下
                os.makedirs(folder_path, exist_ok=True)  # 创建目录,如果目录已存在则忽略

parse_excel(r"D:\data\testFolder.xlsx")

5.测试结果

执行后,生成一个文件夹。检查了下数据,ok

想了下自动生成word或者excel路径也是想通的,下一次用到或者有空时再更新~~周五愉快!下班!

参考文档
Python读取excel数据并创建文件目录树-全解析过程及逻辑

相关推荐
FreakStudio1 小时前
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
python·单片机·嵌入式·面向对象·电子diy
丶21361 小时前
【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.7 的详细步骤
人工智能·pytorch·python
_.Switch2 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一个闪现必杀技2 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
小鹿( ﹡ˆoˆ﹡ )3 小时前
探索IP协议的神秘面纱:Python中的网络通信
python·tcp/ip·php
卷心菜小温3 小时前
【BUG】P-tuningv2微调ChatGLM2-6B时所踩的坑
python·深度学习·语言模型·nlp·bug
陈苏同学3 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
唐家小妹3 小时前
介绍一款开源的 Modern GUI PySide6 / PyQt6的使用
python·pyqt
羊小猪~~4 小时前
深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)
pytorch·python·rnn·深度学习·机器学习·数据分析·lstm
Marst Code4 小时前
(Django)初步使用
后端·python·django