在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('文件夾已存在')