Пишите в существующий .xlsm, используя pandas и XlsxWriter - PullRequest
0 голосов
/ 13 марта 2019

Я хотел бы записать фрейм данных в существующий файл .xlsm, в котором уже есть содержимое.

Запись кадра данных pandas в файл xlsm (Excel с включенными макросами) описывает, как записать в новый файл, но я хочу написать, чтобы добавить новый лист в существующий файл .xlsm. Когда я использую следующее (как в вопросе):

import pandas as pd

df = pd.DataFrame({'First' : [5, 2, 0, 10, 4], 
               'Second' : [9, 8, 21, 3, 8]})

writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')

df.to_excel(writer, sheet_name='Sheet1')

workbook  = writer.book
workbook.filename = 'test.xlsm'
workbook.add_vba_project('./vbaProject.bin')

df.to_excel(writer, sheet_name='Sheet1') #This is the df I'm trying to add to the sheet
writer.save()

перезаписывает исходное содержимое, а в существующий файл .xlsm добавляется только недавно добавленный лист.

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

Спасибо

* Я извлек объявление vbaProject.bin, описанное здесь: https://xlsxwriter.readthedocs.io/working_with_macros.html *

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