4
我有一個簡單的用例df.to_excel()
,我正在努力。我想寫入一個現有XLSX工作簿的特定工作表選項卡(我們稱之爲「數據」),這可以通過公式和其他選項卡上的引用來引用。pandas:使用to_excel寫入現有的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