У меня есть простой вариант использования df.to_excel()
, с которым я борюсь. Я хочу записать на определенную вкладку рабочего листа (назовем ее «Данные») существующей книги XLSX, на которую могут ссылаться формулы и сводки на других вкладках.
Я пытался изменить ExcelWriter двумя способами, но оба выдают ошибки из openpyxl.
- Прочитайте существующий лист, используя get_sheet_by_name (эти ошибки: «NotImplementedError: вместо этого используйте 'iter_rows()'».)
Создайте новый лист с помощью create_sheet. (Эта ошибка: «ReadOnlyWorkbookException: невозможно создать новый лист в книге только для чтения»)
df=DataFrame() from openpyxl.reader.excel import load_workbook book = load_workbook('my_excel_file.xlsx', use_iterators=True) # Assume my_excel_file.xlsx contains a sheet called 'Data' class temp_excel_writer(ExcelWriter): # I need this to inherit the other methods of ExcelWriter in io/parsers.py def __init__(self, path, book): self.book=book test_sheet=self.book.create_sheet(title='Test') # This errors: ReadOnlyWorkbookException self.use_xlsx = True self.sheet_names=self.book.get_sheet_names() self.actual_sheets=self.book.worksheets self.sheets={} for i,j in enumerate(self.sheet_names): self.sheets[j] = (self.actual_sheets[i],1) self.cur_sheet = None self.path = save my_temp_writer=temp_excel_writer('my_excel_file.xlsx', book) df.to_excel(my_temp_writer, sheet_name='Data')
есть идеи? Я упускаю что-то очевидное? Я все еще в пандах 7.2