【办公自动化实例】在excel中创建目录后使用python批量生成多级文件夹

一、需求

在excel中先创建目录,然后使用python批量生成多级文件夹。如图:
在这里插入图片描述

二、处理方式
1、先在excel 文件中,创建好相关的文件层级;
2、通过pandas读取excel文件,并做相应处理;
3、通过os模块创建多层文件夹。
注:
	1、python版本 3.8
三、代码实现
import os
import pandas as pd


def merge_dir(x,fill_dir):
	'''
	删除空路径下的文件夹
	'''
	try:
		n = str(x).split('/').index(fill_dir) # 定位空文件夹所在位置
		x = '/'.join(str(x).split('/')[0:n])  # 删除空文件夹的路径
	except Exception as e:
		print(e)
	return str(x)

df=pd.read_excel('文件夹目录.xlsx')


#列中有空值的,直接合并不行,需要做一次处理。
df = df.fillna('空文件夹')
col = df.columns
n = len(df.columns)

df['all'] = df[col[1]].astype('str') # 如果需要写绝对路径,这里可参考修改为"'d:/' + df[col[1]]"

for i in range(2,n):

	df['all'] = df['all'] + '/' + df[col[i]].astype('str')

df['all'] = df['all'].apply(merge_dir,args=('空文件夹',))  #注意,这里args参数里面如果只有一个参数,需要加入一个括号

# 使用os模块的makedirs创建多层文件夹
for f_dir in df['all'].to_list():
	if not os.path.exists(f_dir):
		os.makedirs(f_dir)
		print(f'已完成路径:{f_dir} 下所有文件夹的创建')
	else:
		print('文件夹已存在')
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值