Python 如何将数据框导出到 xlsx 中的两个选项卡

Python how to export dataframes to two tabs in xlsx

我想将数据框 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:我在 link "How to save a new sheet in an existing excel file, using 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' object has no attribute 'add_worksheet'

根据此 answer this is a limitation in the xlsxwriter engine. The pandas docs 显示 ExcelWriter 的默认设置是使用 openpyxl,它应该能够满足您的需求。如果您想明确说明所使用的引擎,这应该可行:

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