Python как экспортировать кадры данных на две вкладки в xlsx - PullRequest
0 голосов
/ 06 января 2020

Я хочу экспортировать фрейм данных C в существующий Excel, сохранив его в новой вкладке. Я попытался:

writer=pd.ExcelWriter(r'H:\test.xlsx', engine='xlsxwriter')
C.to_excel(writer,sheet_name='c') 
writer.save()

(Примечание: тест Excel - это существующий и ранее сохраненный Excel с различными таблицами A, B на вкладках a, b, которые я хочу сохранить)

Однако этот код удаляет существующий файл Excel и создает новый только с вкладкой "c". Я хочу сохранить существующие вкладки "a" и "b".

Какой правильный путь?

ps: я попробовал предложение по ссылке "Как сохранить новый лист в существующем Файл Excel, используя Pandas? "следующим образом:

writer=pd.ExcelWriter(r'H:\C.xlsx', engine='xlsxwriter')
y_pred_all2.to_excel(writer,sheet_name='cc')
writer.save()
writer.close()
from openpyxl import load_workbook
path=r'H:\C.xlsx'
book=load_workbook(path)
writer=pd.ExcelWriter(path, engine='xlsxwriter')
writer.book=book
C.to_excel(writer,sheet_name='returns') 

Это дает мне ошибку: AttributeError: У объекта 'Workbook' нет атрибута 'add_worksheet'

1 Ответ

1 голос
/ 07 января 2020

Согласно этому ответу это ограничение в движке xlsxwriter. pandas документы показывают, что по умолчанию для ExcelWriter используется openpyxl, который должен быть в состоянии выполнить то, что вы ищете. Если вы хотите четко указать используемый движок, это должно сработать:

writer = pd.ExcelWriter(path, engine='openpyxl')
...