我有不同的数据框,并希望使用List Comprehension或者单独编写每个df的方便函数将它们写入excel。
暂时我的方法是使用列表理解:
AList=[a,b,c,d]
writer=pd.ExcelWriter(r"P:\Data\Test.xlsx")
[A.to_excel(writer,sheet_name="{0}".format(A)) for A in AList]
writer.save()
但这不起作用。
感谢每个答案。
答案 0 :(得分:6)
我认为您需要enumerate
选择的工作表名单。此外,有必要将输出分配给某些变量,如_
:
#sample data
df = pd.DataFrame({'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4]})
#list of dfs
AList=[df,df*10,df*100,df*1000]
#list of stheetnames
names = ['sheet1','sheet2','sheet3','sheet4']
writer=pd.ExcelWriter(r"P:\Data\Test.xlsx")
_ = [A.to_excel(writer,sheet_name="{0}".format(names[i])) for i, A in enumerate(AList)]
writer.save()
请注意,下面的非列表推导解决方案更适合:
writer=pd.ExcelWriter(r"P:\Data\Test.xlsx")
for i, A in enumerate(AList):
A.to_excel(writer,sheet_name="{0}".format(names[i]))
writer.save()