Я пытаюсь перебрать папку, содержащую кучу других папок с заголовками Spec01, Spec02, Speco03, ..., Spec14.В каждой из папок Spec есть несколько файлов, но в каждой папке мне нужен один файл specimen.dat.Я хочу перебрать каждую папку, преобразовать ее в файл Excel и сохранить ее с именем родительской папки, т.е. Spec ##.
Часть моего кода для панд работает нормально сама по себе, но когда я добавлю цикл for, я получу только один файл с именем [] .xlsx.Я считаю, что мой цикл просто переписывает сам себя
Вот мой код, с которым я работаю
import pandas as pd
import os
your_path = 'C:/Users/abh85/Desktop/AAA/'
for root, dirs, files in os.walk(your_path):
for subdir in files:
if subdir.endswith('.dat'):
with open(os.path.join(root, subdir)) as f1:
#change skiprow as needed
df = pd.read_csv(f1, sep='\s+', skiprows = 4, error_bad_lines = False)
df = df.apply(pd.to_numeric, errors ='coerce')
df = df.dropna() #drop blank rows from coerce process
#manually change column names per test data acquisition
df.columns = ['Time (s)', 'Displacement (mm)', 'ExDisp (mm)', 'CMOD (mm)', 'Force (kN)']
df.to_excel('C:/Users/abh85/Desktop/xls/%s.xlsx' %dirs, index=False)
Я знаю, что переименование не работает, потому что, как я называю "dirs" впетля.Следующий код дает мне имена, которые я хочу, но я не знаю, как их включить:
import os
your_path = 'C:/Users/abh85/Desktop/AAA/'
for path, dirs, files in os.walk(your_path):
for name in dirs:
print(name)
Я могу загрузить почтовый индекс с образцами папок.