Как записать датафрейм в эксель, в котором есть готовый шаблон отчета
Я создала шаблон на openpyxl и сохранила его в файл "output". Теперь мне нужно сохранить свой датафрейм с которым я работала в этот файл. И записать нужно с 9 строки 3 колонки. Я пробовала сохранить вот таким вот образом
df.to_excel('output.xlsx', float_format="%.2f", index=True, sheet_name='January', engine='xlsxwriter')
Но при записи в этот файл именно в этит лист, он перезаписывается и шаблон отчета который там был ранее сохранен пропадает и остаются лишь данные. А мне нужно чтоб поверх шаблона он вставил значения. Как быть?
Ответы (1 шт):
Автор решения: M. U.
→ Ссылка
Проблема решилась следующим образом
# Read the existing excel file book = load_workbook('report_template.xlsx')
writer = pd.ExcelWriter('output', engine='openpyxl')
writer.book = book
#Create a new sheet to write data
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, float_format="%.2f", index = False, header = False, sheet_name='sheet', startrow=8, startcol=3)
# Save the changes
writer.save()