只要是不同的工作表,在 Excel 工作簿中添加许多大熊猫数据框是非常容易的。但是,如果您想使用熊猫内置的 df.to _ excel 功能,那么将多个数据框放入一个工作表中就有些棘手了。
# Creating Excel Writer Object from Pandas
writer = pd.ExcelWriter('test.xlsx',engine='xlsxwriter')
workbook=writer.book
worksheet=workbook.add_worksheet('Validation')
df.to_excel(writer,sheet_name='Validation',startrow=0 , startcol=0)
another_df.to_excel(writer,sheet_name='Validation',startrow=20, startcol=0)
上面的代码不起作用
Sheetname 'Validation', with case ignored, is already in use.
现在,我已经做了足够多的实验,我找到了一种方法使它工作。
writer = pd.ExcelWriter('test.xlsx',engine='xlsxwriter') # Creating Excel Writer Object from Pandas
workbook=writer.book
df.to_excel(writer,sheet_name='Validation',startrow=0 , startcol=0)
another_df.to_excel(writer,sheet_name='Validation',startrow=20, startcol=0)
会成功的。因此,我在 stackoverflow 上发布这个问题的目的有两个。首先,我希望这将有助于某人,如果他/她试图把许多数据框架到一个工作表中的 Excel。
其次,有人能帮助我理解这两个代码块之间的区别吗?在我看来,它们几乎是相同的,除了第一块代码创建的工作表被称为“验证”,而第二块没有提前。我明白。
我不明白的是,为什么会有什么不同呢?即使我不提前创建工作表这一行,最后一行之前的这一行,
df.to_excel(writer,sheet_name='Validation',startrow=0 , startcol=0)
将创建一个工作表。因此,当我们到达代码的最后一行时,工作表“验证”也已经在第二块代码中创建。那么,我的问题基本上就是,为什么第二个代码块可以工作,而第一个代码块却不能?
如果还有其他方法可以使用内置的 df.to _ excel 功能将许多数据框架放入 excel 中,也请与我们分享! !