合并文件

def merge_file(result_dict):

if not isinstance(result_dict,dict):
raise ValueError('input parameter must dict!')

if len(result_dict) <= 1:
raise ValueError('{} can not be None and at least 2 dataframe!'.format(result_dict))

if not all('account_id' in result_dict.get(file).columns for file in result_dict.keys()):
raise ValueError("info for {} ,['account_id'] must be as a column of all files .".format(result_dict))

df = []
for k in result_dict:
tmp = result_dict.get(k).set_index('account_id')
df.append(tmp)

import functools

df_merge = functools.reduce(lambda left,right:
pd.merge(left,right,right_index=True,left_index=True,how='left'),df
)

df_merge.reset_index(inplace=True)

print(df_merge.info())

return df_merge
posted @ 2023-08-21 16:51  chliyiyu  阅读(8)  评论(0编辑  收藏  举报