将API多段JSON响应存入带独立列名的Pandas DataFrame
将多段JSON响应整合到单个Pandas DataFrame的方法
你的JSON响应包含三个独立的JSON片段,对应同一账户(2130005)的不同数据维度,可以通过以下步骤将所有数据整合到单个DataFrame中:
步骤1:解析JSON字符串
先把每个JSON字符串转换成Python字典/列表对象,使用json模块处理:
import json import pandas as pd # 原始JSON响应(已处理转义字符) raw_json = [ '{"accountNumber":"2130005","billDayModelName":"","billDayModelScore":"0","defaultBadWriteOffModelName":"XYZ","defaultBadWriteOffModelScore":600.677286,"accountModelName":"","accountModelScore":"0","customerModelName":"","customerModelScore":"0","accountRiskCode":"","customerRiskCode":""}', '{"ACCTNBR":"2130005","PREV3MOTOTAMT":0,"PREV3CALL":1,"DAY_SYNC":4,"STD_DVTN":79.72,"MNTHCNT":2,"AVG_AMT":0,"PMT_CNT":0}', '[{"ACCT_NBR":2130005,"ACCOUNT_SCORE":0.8,"BHVR_SCR":380}]' ] # 解析每个片段 data1 = json.loads(raw_json[0]) data2 = json.loads(raw_json[1]) data3 = json.loads(raw_json[2])[0] # 提取列表内的字典对象
步骤2:转换为DataFrame并合并
将解析后的对象转为DataFrame,再基于账户号字段合并(三个片段的账户名字段分别为accountNumber、ACCTNBR、ACCT_NBR,需指定对应合并键):
# 转换为单条记录的DataFrame df1 = pd.DataFrame([data1]) df2 = pd.DataFrame([data2]) df3 = pd.DataFrame([data3]) # 逐步合并DataFrame merged_df = df1.merge(df2, left_on='accountNumber', right_on='ACCTNBR') merged_df = merged_df.merge(df3, left_on='accountNumber', right_on='ACCT_NBR') # 可选:删除重复的账户号列,保留统一的accountNumber字段 merged_df = merged_df.drop(columns=['ACCTNBR', 'ACCT_NBR'])
最终效果
执行后merged_df会包含所有字段,结构示例如下:
| accountNumber | billDayModelName | billDayModelScore | defaultBadWriteOffModelName | defaultBadWriteOffModelScore | accountModelName | accountModelScore | customerModelName | customerModelScore | accountRiskCode | customerRiskCode | PREV3MOTOTAMT | PREV3CALL | DAY_SYNC | STD_DVTN | MNTHCNT | AVG_AMT | PMT_CNT | ACCOUNT_SCORE | BHVR_SCR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2130005 | 0 | XYZ | 600.677286 | 0 | 0 | 1 | 4 | 79.72 | 2 | 0 | 0 | 0.8 | 380 |
注意事项
- 若后续有多个账户数据,只要每个JSON片段对应同一账户,该合并逻辑依然适用
- 若存在字段类型不一致(如账户号有的是字符串有的是整数),可先统一类型再合并,例如
df2['ACCTNBR'] = df2['ACCTNBR'].astype(str)
内容的提问来源于stack exchange,提问作者Debasis
相关产品推荐
相关产品推荐

