Python 无法将数据框列表保存到多页Excel电子表格

Python 无法将数据框列表保存到多页Excel电子表格,python,excel,pandas,Python,Excel,Pandas,我试图对这个问题做同样的事情,并遵循答案给出的方法。这是我的密码: import pandas as pd import xlsxwriter mylist=[df_1,df_2,df_3] for n,df in enumerate(mylist): df=df[df['Name']=='Anna'].copy() # filter each dataframe in the list according to some condition # print(df)

我试图对这个问题做同样的事情,并遵循答案给出的方法。这是我的密码:

import pandas as pd
import xlsxwriter

mylist=[df_1,df_2,df_3]

for n,df in enumerate(mylist):
    df=df[df['Name']=='Anna'].copy() # filter each dataframe in the list according to some condition
    # print(df) 
    writer = pd.ExcelWriter('data.xlsx', engine='xlsxwriter')
    df.to_excel(writer,'sheet%s' % n)
    writer.save()
    writer.close()

我在jupyter笔记本中使用
print(df)
来仔细检查循环是否工作,每个数据帧是否成功过滤,它是否工作。我的问题是,在输出excel文件中,只有
sheet0
中的第一个过滤数据框
df_1
已保存,列表中的其他数据框未保存


我的代码有什么问题吗?

循环中有些片段应该在外部。请参考此处的文档:


不起作用,仍然只保存了第一个数据帧。对我有效。是保存所有的床单还是只保存一张?还是一张?请重新粘贴使用的代码。您需要将
pd.ExcelWriter()
save()
close()
移动到
for
循环之外。
writer = pd.ExcelWriter('data.xlsx', engine='xlsxwriter')
mylist=[df_1,df_2,df_3]
for n,df in enumerate(mylist):
    df=df[df['Name']=='Anna'].copy() # filter each dataframe in the list according to some condition
    # print(df) 
    df.to_excel(writer,'sheet%s' % n)
writer.save()