使用Python添加80个目录和6个子目录?

使用Python添加80个目录和6个子目录?,python,operating-system,windows-10,Python,Operating System,Windows 10,我试图在给定目录中添加80个子目录 每个目录都需要以下子目录: app文档 chk shts 乐博士 侦察 设置文档 时间线 我有一个Excel文件,我用它作为那些目录的主目录,但是如何添加子目录呢 我用于客户端目录的代码如下所示: import os import pyexcel as pe import pyexcel_xlsx client = 'LAM' spath = r'c:\Users\Ryan *****\OneDrive - L******y \Desktop\client

我试图在给定目录中添加80个子目录

每个目录都需要以下子目录:

app文档
chk shts
乐博士
侦察
设置文档
时间线
我有一个Excel文件,我用它作为那些目录的主目录,但是如何添加子目录呢

我用于客户端目录的代码如下所示:

import os
import pyexcel as pe
import pyexcel_xlsx

client = 'LAM'
spath = r'c:\Users\Ryan *****\OneDrive - L******y \Desktop\clientStructure\Team \%s' %(client)
fpath = r"c:\Users\Ryan *****\OneDrive - L******y \Desktop\testtesttest.xlsx"
data = pe.get_array(file_name=fpath)
folders =[]
for i in data:
    folders.extend(i)

try:
    os.mkdir(os.path.join(spath))
except:
    for folder in folders:
        os.mkdir(os.path.join(spath, str(folder)))

print('Done')

由于pyexcel部分与问题无关,并且有许多不必要的字符串,我将为您提供回答问题的最少代码,但您可以将其合并到自己的程序中

首先,为什么不直接从as
文件夹中的
fpath
读取数据,而不是将
数据
用作中间数据

其次,如果
spath
已经存在,即如果
os.mkdir()
给出错误,我不明白为什么只创建
文件夹。Python只会在
try
出现错误时执行
,因此必须运行此程序两次才能创建所需的目录结构

不管怎样,这是我的最小可重复答案:

import os

pdir = 'C:\\Users\\mRotten\\target_dir'
folders = ['parent_1', 'parent_2', 'parent_3']
subfs = ['sub_1', 'sub_2', 'sub_3']

for f in folders:

    fpath = os.path.join(pdir, f)

    try: os.mkdir(fpath)
    except FileExistsError: pass

    subds = [os.path.join(fpath, sf) for sf in subfs]

    for sd in subds:
        try: os.mkdir(sd)
        except FileExistsError: pass

您的问题几乎与pyexcel无关,因此我建议您使用它,并提供一个不涉及使用它的示例-尤其是因为您没有提供示例输入文件。我使用py Excel为目录引入了一个名称数组。是否有一种方法可以仅用名称创建文件夹,而不是像这样:[“公司ABC”]@rstowe1 Yep,和你以前做的一样。