Я написал функцию, позволяющую записывать несколько кадров данных на один лист Excel, а затем иметь несколько листов в одной книге Excel.Я могу достичь первой части, но не второй.Когда скрипт запускается, он перезаписывает существующую вкладку и записывает поверх нее новую, а это означает, что каждый раз, когда я открываю выходной файл, он имеет только один лист, самый последний.
Я всегда был немного озадачен функцией writer.save () и тем, когда ее использовать (то есть: внутри или в нашем цикле).Есть предложения?
def dfs_to_sheet(dflist, bookname, sheetname, startrow = 0):
writer = pd.ExcelWriter('{}.xlsx'.format(bookname), engine='openpyxl')
numdfs = 0
startrow = 0
for i in dflist:
if numdfs == 0:
i.to_excel(writer, sheet_name=sheetname, startrow = startrow)
elif numdfs != 0:
i.to_excel(writer, sheet_name = sheetname, startrow = startrow)
startrow = startrow + len(i) + 2
numdfs += 1
writer.save()