Python 使用pandas将2个数据框保存到excel中的表1和表2,但保持表2在excel中的状态?

Python 使用pandas将2个数据框保存到excel中的表1和表2,但保持表2在excel中的状态?,python,pandas,export-to-excel,Python,Pandas,Export To Excel,我有两个数据框,我想将它们分别保存到Sheet1和Sheet2的名为“Output”的现有excel中(请参见代码)。我在excel中使用Sheet3,每次运行代码时,它都会删除Sheet3,从而覆盖整个excel。是否有任何功能只“更新”工作表1和2,但不接触“输出”xlsx中的功能无法回忆的其他工作表?您能否将模式设置为“a”(用于追加)。看 writer=pd.ExcelWriter('Output.xlsx',mode='a',engine='xlsxwriter') Xlsxwrite

我有两个数据框,我想将它们分别保存到Sheet1和Sheet2的名为“Output”的现有excel中(请参见代码)。我在excel中使用Sheet3,每次运行代码时,它都会删除Sheet3,从而覆盖整个excel。是否有任何功能只“更新”工作表1和2,但不接触“输出”xlsx中的功能无法回忆的其他工作表?

您能否将模式设置为“a”(用于追加)。看

writer=pd.ExcelWriter('Output.xlsx',mode='a',engine='xlsxwriter')

Xlsxwriter只能从头开始编写新的excel文件,不能附加到现有文件中。 解释如下:

它无法读取或修改现有的Excel XLSX文件

openpyxl支持从现有文件读取和附加到现有文件,因此您应该设置

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

Sorted_Dataframe_1.to_excel(writer, sheet_name='Sheet1')
Sorted_Dataframe_2.to_excel(writer, sheet_name='Sheet2')

writer.save()
writer.close()
这来自于,但我添加了
engine='openpyxl'
,如果没有它,我不确定它是否会工作


这里也有一个非常类似的问题:

我试过。。它给了我一个错误:raisevalueerror(“xlsxwriter不支持追加模式!”)ValueError:xlsxwriter不支持追加模式!尝试删除引擎关键字--除非您特别想使用xlsxWriter引擎?嗯,不,仍然是相同的错误..您是否尝试过
writer=pd.ExcelWriter('Output.xlsx',mode='a')
好,谢谢!!唯一的问题是:如果我再次运行代码,它会在python导出的现有sheet1和sheet2之外添加新的“sheet12”和“sheet21”。是否要确保它覆盖了Sheet1和sheet2,而不是添加新的@pythonista匿名对不起,我对openpyxl不够熟悉。但是如果你找到了解决方案,请把它贴在这里——我也会感兴趣的
with pd.ExcelWriter('output.xlsx',
                    mode='a', engine ='openpyxl') as writer:  
    df.to_excel(writer, sheet_name='Sheet_name_3')