2017-09-08 1 views
3

Ich habe verschiedene Datenframes und möchte sie schreiben, Excel mit List Comprehension oder eine praktische Funktion nicht schreiben jedes df einzeln.Write List of DataFrames in Excel mit to_excel()

Für die Zeit, mein Ansatz zu sein, ist mit Liste Verständnis zu verwenden:

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

Aber das funktioniert nicht.

Schätzen Sie jede Antwort.

Antwort

4

Ich glaube, Sie enumerate für ausgewählte sheetnames aus Liste benötigen, ist auch notwendig, assign Ausgang zu einem gewissen Variable wie _:

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

Nicht Liste Verständnis Lösung ist hier besser:

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