python将多列逐个添加到excel文件中

2024-06-10 21:15:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含多个工作表的excel文件,我想将日志列表中的列分组,并将它们存储在另一个excel文件中,但某些工作表不包含某些列,因此工作表中不存在列。不要存储它,代码工作正常,但只存储最后一列

import pandas as pd
sheets_names = ['R9_14062021','R9_02122020','R9_14062021','R9_28052021','R9_17052021','R9_03052021','R9_14042021','R9_24032020','R9_19032020','R9 30112020','R9_17112020','R7_27012021','LOGS R9 01032021','LOGS R7 SAT01032021','R7_30032020','G9_06032020','G5T_20012021','TNT_08122020','R7_SAT_24112020','G6T_12112020','R9 12102020']

logs = [' Msd','Provider Id','Terminal Type','chgtCh','accessRecordModule','playerPlay startOver','playerPlay PdL','playerPlay PVR','contentHasAds','pdlComplete','lirePdl','lireVod']

dfs_list = pd.read_excel('COMPIL LOGS INDICATEURS V14062021.xlsx',sheet_name = sheets_names )
writer = pd.ExcelWriter('pandas_multiple.xlsx', engine='xlsxwriter')
    for sheet in dfs_list:
        df = dfs_list[sheet]
        df['Dt'] = pd.to_datetime(df['Dt']).dt.date
        df1 = df.groupby(['Dt','webApp','mw'])[' Msd'].count()
        for log in logs:
            if log in df:
                df1 = df.groupby(['Dt','webApp','mw'])[log].sum()
                df1.to_update.get(sheet)
    #df1.reset_index(inplace=True)
    df1.to_excel(writer, sheet_name=sheet)

writer.save()

结果: enter image description here


Tags: toindfdtexcellistsheetwriter