Как записать датафрейм в эксель, в котором есть готовый шаблон отчета

Рейтинг: -1Ответов: 1Опубликовано: 29.03.2023

Я создала шаблон на openpyxl и сохранила его в файл "output". Теперь мне нужно сохранить свой датафрейм с которым я работала в этот файл. И записать нужно с 9 строки 3 колонки. Я пробовала сохранить вот таким вот образом

df.to_excel('output.xlsx', float_format="%.2f", index=True, sheet_name='January', engine='xlsxwriter')

Но при записи в этот файл именно в этит лист, он перезаписывается и шаблон отчета который там был ранее сохранен пропадает и остаются лишь данные. А мне нужно чтоб поверх шаблона он вставил значения. Как быть?

Ответы

▲ 1

Проблема решилась следующим образом

# 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()