У меня есть список почти из 30 файлов xlsx одного формата. У меня есть рабочий код очистки данных, и я хочу очистить их все и сохранить на отдельных листах в одной книге. Я подумал, что цикл лучше всего подходит для этой работы, но чего-то не хватает. Я видел некоторые функции, которые сохраняют несколько листов в рабочую книгу, но я надеюсь на read_excel, очистку фрейма данных, сохранение на лист и удаление фрейма данных. Происходит то, что он возвращает только последний лист в списке в новом документе Excel.
BOX = [
"aa1",
"aa2",
"aa3"]
for B in BOX:
filename = B+".xls"
#create data frame
BDF = pd.read_excel(r'C:\Projects\BOXES\\' + filename)
#clean data frame
BDF = BDF.dropna(how="all")
BDF['Total Cost'] = BDF['Total Cost'].str.replace('.', '')
BDF.columns = ['LVL', 'PN', 'Leadtime', 'Description', 'Ext QTY']
BDF.PN = BDF.PN.str.strip()
sheetname=B
#save to sheet
with pd.ExcelWriter(r'C:\Projects\BOXES\BOXED.xlsx') as writer:
BDF.to_excel(writer, sheet_name=B, index=False)
#delete data frame before repeating
del(BDF)
del(B)