我有一个Excel工作表,其中包含文件夹名称列表。我必须阅读Excel工作表并在驱动器上创建文件夹名称。但是,如果该过程在创建过程中中断或存在异常,则当我重新运行该过程时,它应排除已经创建的文件夹。
下面是我当前的Python代码:
data = pd.read_excel(r'C://Users//file1//Desktop//folderlist.xls')
print(data["producttype"])#folder list is in producttype column name
print(data.head())
data.drop("Unnamed: 0",axis=1,inplace=True)
root=(r'C://Users//file1//Desktop//google//')
dirlist =pd.DataFrame( [ item for item in os.listdir(root) if os.path.isdir(os.path.join(root, item)) ])
df=pd.DataFrame([x[0] for x in os.walk(r'C://Users//file1//Desktop//google//')])
print(dirlist)
for i in dirlist:
for k,j in enumerate(data["producttype"]):
if i==j:
data.drop(data.producttype.index[k],axis=0,inplace=True)
执行此操作时,它并不排除已经创建的文件夹。
有人可以帮助我解决此问题吗?
答案 0 :(得分:2)
这个问题归结为安全地创建一个(嵌套的)目录,在这里回答: How can I safely create a nested directory?
此代码应能解决问题,该问题取自链接的问题:
import pandas as pd
from pathlib import Path
df_folders = pd.read_excel('file.xlsx', sheet_name='info', header=0)
for folder in df_folders['producttype']:
Path(folder).mkdir(parents=True, exist_ok=True)