Как добавить страницы в существующую таблицу Excel с помощью Python

#python #excel #append #add #openpyxl

#python #excel #добавить #Добавить #openpyxl

Вопрос:

Итак, я перепробовал несколько способов добавления страниц в существующую электронную таблицу Excel, но я не могу найти ничего, что работает. Это код, который создает исходный лист.

 writer = ExcelWriter('test3.xlsx', engine='xlsxwriter')
pdf.to_excel(writer, sheet_name = 'Playoffs')
sec.to_excel(writer, sheet_name = 'Second Round')
cf.to_excel(writer, sheet_name = 'Conference Finals')
cham.to_excel(writer, sheet_name = 'Finals')
df.to_excel(writer, sheet_name = 'Stanley Cup Winner')

writer.save()
writer.close()
 

По какой-то причине, когда я пытаюсь запустить это снова и добавить в файл разные листы, в файле появляется сообщение «отказано в разрешении».

Вот что я пробовал с openpyxl, но это не сработало.

 import openpyxl
 from openpyxl import load_workbook
 
 path = 'test3.xlsx'
 
 with pd.ExcelWriter(path) as writer:
     writer.book = openpyxl.load_workbook(path)
     pdf.to_excel(writer, sheet_name='new_sheet2'
 

И вот еще один сегмент, который я попробовал, который пришел с ошибкой «Режим добавления не поддерживается xlsxwriter!»

 with ExcelWriter('path_to_file.xlsx', mode='a') as writer:
    df.to_excel(writer, sheet_name='Sheet3')
 

Дайте мне знать, если вы, как это сделать, я искал везде, и, похоже, ничего не работает.

Спасибо!!

Ответ №1:

Попробуйте использовать openpyxl create_sheet функцию:

 import openpyxl

wb=openpyxl.load_workbook("file.xlsx")
wb.create_sheet("SheetName")