2017-09-08 15 views
3

私は異なるデータフレームを持ち、List Comprehensionまたは各dfを個別に書き込む便利な関数を使用してExcelに書きたいと思っています。私のアプローチ当面のためにto_excel()を使用して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() 

しかし、これは動作しません。

それぞれの回答を高く評価してください。

答えて

4

私も_のようないくつかの変数に必要な割り当て出力である、あなたはリストから選択しsheetnamesため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() 
関連する問題