用python實現多個表格合並按字段去重


需求

在xx銀行項目中遇到的一個需求,是將系統中的8張余額表下載到指定的文件夾中,然后從文件夾中讀取這8張余額表,將其合並為一張余額匯總表,在合並的時候要將組合名稱重復的多行數據去重,並將其所對應的余額相加

實現

使用python中的pandas庫來完成

import pandas as pd


def custody_merge(src_dic, path):
    '''
    src_dic:所有表匯總后的數據字典,有重復數據
    path:合並完成后文件要存放的路徑
    '''
    df = {'賬戶號': [], '組合名稱': [], '余額': []}
    table = pd.DataFrame(src_dic, columns=list(src_dic.keys()))
    # 按組合名稱分組
    group_by_name = table.groupby('組合名稱')
    for tuple_table in group_by_name:
        list_table = list(tuple_table)

        pd1 = pd.DataFrame(list_table[1])

        # 余額相加
        balance = sum(pd1['余額'])

        # 將pd1轉換為字典
        df1 = pd1.to_dict(orient='records')[0]
        df['賬戶號'].append(df1['賬戶號'])
        df['組合名稱'].append(df1['組合名稱'])
        df['余額'].append(balance)

    # 寫入excel
    cus_balance_table = pd.DataFrame(df, columns=list(df.keys()))
    writer = pd.ExcelWriter(path)
    cus_balance_table.to_excel(writer, index=False)
    writer.save()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM