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()