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

如何将属性缺失、顺序不一的JSON转换为Pandas Dataframe

将含缺失属性的JSON数组转换为带Null填充的DataFrame

问题说明

给定存在属性缺失、属性顺序不固定的JSON数组:

[
    {
        "name": "user1",
        "age": 12,
        "category": "young"
    },
    {
        "name": "user2",
        "category": "old"
    },
    {
        "name": "user3",
        "age": 23
    }
]

需要转换为包含自增id列、缺失值以null填充的DataFrame,目标格式如下:

idnameagecategory
1user112young
2user2nullold
3user323null

解决方案(Python Pandas)

Pandas的DataFrame构造器会自动识别所有存在的属性作为列,缺失值默认填充NaN,后续可替换为null,再添加自增id列即可:

步骤1:加载数据并转换为DataFrame

import pandas as pd

# 示例JSON数据
data = [
    {"name": "user1", "age": 12, "category": "young"},
    {"name": "user2", "category": "old"},
    {"name": "user3", "age": 23}
]

# 转换为DataFrame,自动对齐列并填充缺失值
df = pd.DataFrame(data)

步骤2:添加自增id列

# 在第0位插入id列,从1开始计数
df.insert(0, 'id', range(1, len(df) + 1))

步骤3:将NaN替换为null

如果需要将默认的NaN显示为字符串null,执行以下操作:

df = df.fillna("null")

从JSON文件读取的情况

如果数据存储在JSON文件中,直接使用read_json方法同样能自动处理:

df = pd.read_json("your_data.json")
df.insert(0, 'id', range(1, len(df) + 1))
df = df.fillna("null")

无论原JSON对象的属性顺序如何,Pandas都会自动统一列顺序,最终输出与目标格式一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:10:32