Как сохранить новый лист в .xls файле через цикл?

Имею следующий запрос:

ids = ['766', '976']

for id in ids:
    writer = pd.ExcelWriter('Statistics.xls', engine='xlsxwriter')
    submit_ = pd.read_sql(con=connection, sql=sql, params={'id': '%{}%'.format(id)})
    parse = parse_reslt(submit_)
    parse.to_excel(writer, id, index=False)
    writer.save()
    writer.close()

Пытаюсь перебрать массив ids и получившийся результат сохранить в .xls файле, где результат запроса будет на отдельном листе в файле. Но сохраняется только один лист.

Подскажите, что делаю не так в данном случае?


Ответы (1 шт):

Автор решения: MaxU

В официальной документации по pd.ExcelWriter показан пример того как создавать Excel файл c несколькими листами.

В вашем случае можно сделать так:

with pd.ExcelWriter("Statistics.xlsx") as writer:
    for id in ids:
        ...
        parse.to_excel(writer, sheet_name=id, index=False)
→ Ссылка