我有不同的数据框,并希望使用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()

但这是行不通的。

欣赏每个答案。

最佳答案

我认为您需要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()

关于python - 使用to_excel()将DataFrame列表写入Excel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46109675/

10-12 20:44