python - 在Python中使用子文件夹的名称为每个子文件夹创建空文件

标签 python pandas operating-system os.walk

如果我的文件夹结构如下:

folder
        \ sub1\sub1_1
        \ sub1\sub1_2
        \ sub1\sub1_3
        .
        .
        .
        \ sub2\sub2_1
        \ sub2\sub2_2
        \ sub2\sub2_3
        .
        .
        .

我希望每个子文件夹的文件都使用子文件夹的名称。我怎样才能用Python做到这一点?谢谢。 预期结果:

folder
        \ sub1\sub1_1\sub1_1.xlsx
        \ sub1\sub1_2\sub2_2.xlsx
        \ sub1\sub1_3\sub3_3.xlsx
        .
        .
        .
        \ sub2\sub2_1\sub2_1.xlsx
        \ sub2\sub2_2\sub2_2.xlsx
        \ sub2\sub2_3\sub2_3.xlsx
        .
        .
        .

这是我尝试过的:

import os
dir_name = "D:/folder"     
for root, dirs, files in os.walk(dir_name, topdown=False):
    for subfolder in dirs:
        print(subfolder)

最佳答案

您可以递归地执行此操作:

from os import listdir
from os.path import isfile, join

mypath = "add/your/path"

def write_files(path):
    folders = [f for f in listdir(path) if not isfile(join(path, f))]
    if len(folders) == 0:
        #Writing the actual File
        open(path+"/"+path.split("/")[-1]+".xlsx", "w+")
    else:
        for folder in folders:
            write_files(path+"/"+folder)

write_files(mypath)

请注意,这只会创建以 xlsx 结尾的文本文件,而不是实际的 Excel 文件。 因此,您可以安装一些能够创建 Excel 文件的库

关于python - 在Python中使用子文件夹的名称为每个子文件夹创建空文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54254336/

相关文章:

python - 如何在python中左对齐数据框列?

algorithm - 不同时间到达进程的甘特图循环调度

c - 关于内存管理中函数arch_get_unmapped_area的一个问题(linux)

python - 从 setup.py bdist 生成的 Exe 立即关闭。有没有办法记录或暂停来分析异常是什么?

python - 如何使用Python中的socks模块下载网页?

python - Scikit learn - 如何使用 SVM 和随机森林进行文本分类?

linux - 分配的大部分为空的页面会怎样?

python - xcode 可以附加和调试从 c 应用程序运行的 python 吗?

pandas read_sql 的 Python 编码问题

python - 创建一个自动填充空值的函数