簡體   English   中英

多個數據框的列表以分隔Excel工作表

[英]List of multiple dataframes to separate Excel sheets

我有一個可變長度的數據框列表,我想將每個數據框列表轉換為每個excel工作表。

這是我的代碼:

for i in range(1, len(dfs)):
    frames = {'sheetName_i' : dfs[i]}
for sheet, df in frames.items():
    dfs[i].to_excel(writer, index=False)
#df is the whole dataframe whereas dfs is the list of df

我的輸出中只有最后一個列表。 有什么方法可以將所有列表轉換為單獨的Excel工作表?

我使用了您的建議如下:

for i, df in enumerate(dfs, 1):
   for n in group: #containe the names that I want to name the sheets amd the names equal to the number of sheets.
       df.to_excel(writer, index=False, sheet_name=n.format(i))

工作表名稱更改為我需要的名稱。 盡管每張紙的數據相似,但是會丟失某些數據內容,並且某些數據會在單張紙中合並,並且同一數據會在每張紙中重復。 有什么辦法可以獲取正確的輸出。

很高興聽到一些建議。 提前非常感謝您。

我認為您需要:

writer = pd.ExcelWriter('output.xlsx')
for i, df in enumerate(dfs, 1):
    #python 3.6+
    df.to_excel(writer, index=False,sheet_name=f'sheetName_{i}')
    #below python 3.6   
    #df.to_excel(writer, index=False,sheet_name='sheetName_{}'.format(i))
writer.save()

樣品

df = pd.DataFrame({
        'A':list('abcdef'),
         '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],
         'F':list('aaabbb')
})

#sample list of DataFrames
dfs = [df[['A','B']], df[['A','B','C']],df[['A','F']]]

writer = pd.ExcelWriter('output.xlsx')
for i, df in enumerate(dfs, 1):
    #python 3.6+
    df.to_excel(writer, index=False,sheet_name=f'sheetName_{i}')
    #below python 3.6   
    #df.to_excel(writer, index=False,sheet_name='sheetName_{}'.format(i))
writer.save()

編輯:

如果需要,請編寫工作表名稱的自定義名稱:

writer = pd.ExcelWriter('output.xlsx')
names = ['a','d','b']
for df, n in zip(dfs, names):
    #python 3.6+
    df.to_excel(writer, index=False,sheet_name=f'sheetName_{n}')
    #below python 3.6   
    #df.to_excel(writer, index=False,sheet_name='sheetName_{}'.format(n))
writer.save()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM