Цикл по папкам и файлам, заканчивающийся на последующих папках

#python #loops #directory

Вопрос:

У меня есть скрипт, который просматривает папки и считывает каждый файл, а затем применяет исправление. В результате исправления он создает новый файл и помещает его в папку.

Тем не менее, когда он работает, он создает первую папку, затем помещает в нее файлы и отлично работает. И все же ему не удается создать вторую папку? Если я запущу скрипт во второй раз, он создаст вторую папку ( так как первая папка уже создана), и я не могу понять, почему?

Я почти уверен, что мне следует добавить цикл for в конце блока, но ничего не сработало

 import os
import pandas as pd

projpath1 = '/Users/briankeane/PycharmProjects/pythonProject/SS_Remove_Blank_Data'
projpath2 = '/Users/briankeane/PycharmProjects/pythonProject/venv/lib'

for root, dirs, files in os.walk(f'{projpath1}', topdown=True):
    for fname in dirs:
        dirname = (os.path.join(root, fname))
        folder = fname
        sfolder = folder
        # print(fname)

        for nfolder in sfolder:
            if not os.path.exists(sfolder):
                os.makedirs(sfolder)
                print("New folder created: ",sfolder)

                for root, dirs, files in os.walk(f"{projpath1}", topdown=False):
                    for name in files:
                        if not name.startswith('.DS_Store'):
                            split = name.split("/")
                            title = split[0]
                            filename = (os.path.join(root, name))
                            #print(filename)
                            inputf = os.path.expanduser(f'{projpath1}/{folder}/{title}')
                            updatedf = os.path.expanduser(f'{projpath2}/{sfolder}/Corrected_{title}')

                            with open(inputf, "r") as text_file, open(updatedf, "w") as new_txt_file:
                                text_file = pd.read_csv(inputf, header=0, names=("Date", "Time", "Eastings", "Northings"))
                                df2 = text_file.dropna(subset=["Eastings", "Northings"], inplace=False)
                                print("New files created:", updatedf)
                                new_txt_file.write(df2.to_csv())
                                new_txt_file.close()

 

Комментарии:

1. Код довольно плотный, и вопрос до некоторой степени расплывчатый, подумайте о перефразировании. ИЛИ объясните свою проблему и покажите ожидаемый результат