【问题标题】:pandas normalize simple JSON [duplicate]熊猫标准化简单的JSON [重复]
【发布时间】:2019-12-27 18:14:51
【问题描述】:

我有一个简单的 JSON 数据,例如:

[{
    "load": 1,
    "results": {
        "key": "A",
        "timing": 1.1
    }
}, {
    "load": 2,
    "results": {
        "key": "B",
        "timing": 2.2
    }
}]

尝试将其加载到熊猫时:

pd.read_json('res.json')

结果如下:

但是,它们仍然嵌套,而不是将 keyvalue 作为单独的列。 这些如何规范化?

【问题讨论】:

    标签: json pandas normalize


    【解决方案1】:

    使用json.json_normalize:

    data = [{
        "load": 1,
        "results": {
            "key": "A",
            "timing": 1.1
        }
    }, {
        "load": 2,
        "results": {
            "key": "B",
            "timing": 2.2
        }
    }]
    
    from pandas.io.json import json_normalize
    df = json_normalize(data)
    print (df)
       load results.key  results.timing
    0     1           A             1.1
    1     2           B             2.2
    

    如果需要文件中的数据:

    from pandas.io.json import json_normalize
    import json
    
    with open('sample.json') as f:    
        data = json.load(f)  
    
    df = json_normalize(data)
    

    【讨论】:

    • 但是我必须手动将 JSON 从文件加载到字符串?还是有什么综合方法?
    • @GeorgHeiler - 答案已编辑。
    猜你喜欢
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 2020-09-05
    • 2017-04-06
    • 2021-01-18
    相关资源
    最近更新 更多