将多个pandas数据帧写入ex

2024-06-16 13:29:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将多个pandasdataframes从一个更大的数据集中提取到excel工作簿的多个工作表中。问题是它只写第一个数据帧,即index[0],因此生成的工作簿只有一个工作表,请参见下面的sheet1。我错过了什么?这是我问题的再创造。在

代码:

import pandas as pd
from pandas import ExcelWriter

df_list = []
a = pd.DataFrame({'A':[1,2,3,4,5,6,7,8,9], 'B':[10,11,12,13,14,15,16,17,18]})
b = pd.DataFrame({'C':[11,22,33,44,55,66,77,88,99], 'D':[105,117,128,139,140,153,166,176,188]})

df_list.append(a)
df_list.append(b)

writer = ExcelWriter('test_output.xlsx')
for n, df in enumerate(df_list):
    df.to_excel(writer, 'sheet%s' % str(n + 1))
    writer.save()

表1:

^{pr2}$

Tags: 数据代码importdataframepandasdfindexexcel
1条回答
网友
1楼 · 发布于 2024-06-16 13:29:12

您需要在for构造之后调用writer.save()。在

一旦调用此方法,writer对象将被有效地关闭,您将无法使用它来写入更多数据。在

writer = ExcelWriter('test_output.xlsx')
for n, df in enumerate(df_list):
    df.to_excel(writer, 'sheet%s' % str(n + 1))
writer.save()

相关问题 更多 >