You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将两个JSON列表合并为一个格式规范的DataFrame?

步骤1:分别将两个字典规范化为DataFrame

首先把两个JSON解析后的字典都用pd.json_normalize转为扁平结构的DataFrame,自动展开嵌套字段,列名用.分隔层级,可读性更强。

import pandas as pd
import json

dic1 = json.loads(info1)
dic2 = json.loads(info2)

df1 = pd.json_normalize(dic1)
df2 = pd.json_normalize(dic2)

步骤2:根据数据场景选择合并方式

场景1:两组数据结构一致,需纵向追加(如同类型的不同批次数据)

使用pd.concat纵向拼接,重置行索引避免索引重复,还可以新增来源列区分两组数据:

# 可选:新增数据来源列,方便后续区分
df1['source'] = 'info1'
df2['source'] = 'info2'

# 纵向合并,ignore_index会自动重置全局行索引
merged_df = pd.concat([df1, df2], ignore_index=True)

场景2:两组数据为同一主体的不同字段,需横向拼接(如用户基础信息+用户行为数据)

如果两行数一致、顺序对应,直接按列拼接:

merged_df = pd.concat([df1, df2], axis=1)

如果有共同的唯一主键(如user_id、id),用merge合并更稳妥,避免顺序错乱:

# inner为内连接,仅保留两边都存在的主键数据;需要保留单侧全部数据可改为left/right
merged_df = pd.merge(df1, df2, on='共同主键列名', how='inner')

步骤3:格式化输出提升可读性

调整pandas打印参数,避免列折叠、内容截断:

# 显示全部列
pd.set_option('display.max_columns', None)
# 显示列的全部内容,不截断
pd.set_option('display.max_colwidth', None)
# 调整打印宽度,避免自动换行
pd.set_option('display.width', 1000)

print(merged_df)

可选优化

如果合并后存在缺失值,可按需统一替换为缺省值,格式更规整:

# 把所有缺失值替换为'-',可按需修改为其他值
merged_df = merged_df.fillna('-')

内容的提问来源于stack exchange,提问作者Agog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 00:27:05