无法使用 XlsxWriter 将多个数据帧导出到 Excel 中的不同工作表

Can't export multiple DataFrames to different sheets in Excel using XlsxWriter

我正在使用 XlsxWriter,并尝试将 2 DF 导出到 Excel 中的 2 个不同的工作表。我关注了这个link。但这对我不起作用。让我举例说明:

# Create a Pandas Excel writer using XlsxWriter as the engine.
df1 = pd.DataFrame({'A':[1,2,3],'B':[7,8,9]})
df2 = pd.DataFrame({'A':[1,2,3],'C':['AA','BB','CC']})

writer = pd.ExcelWriter(os.path.join(path,'Output.xlsx'), engine='xlsxwriter')
df1.to_excel(writer, sheet_name='Sheet1', index=False)
writer.save()
df2.to_excel(writer, sheet_name='Sheet2', index=False)
writer.save()

Output.xlsx中只能看到df1对应的Sheet1,看不到Sheet2

输出:

但是,如果我将引擎用作 openpyxl 而不是 xlsxwriter,我可以看到 dfs 导出到 Sheet1 和 Sheet2。

我想,有一个小调整,但无法弄清楚。

删除writer.save()。调用to_excel已经保存数据

to_excel 文档说明您只需要使用不同的 sheet 名称来保存到不同的 sheets。

Multiple sheets may be written to by specifying unique sheet_name.

文档示例中也显示了这一点:

df2 = df1.copy()
with pd.ExcelWriter('output.xlsx') as writer:  
    df1.to_excel(writer, sheet_name='Sheet_name_1')
    df2.to_excel(writer, sheet_name='Sheet_name_2')