使用.csv文件中的Pandas访问JSON子属性

时间:2017-12-21 16:29:02

标签: python json python-3.x pandas

我有这个嵌套的JSON数据集,我已使用.csv转换为pandas

[{
        "attribute1": "One",
        "attribute2": "Two",
        "attribute3": [{
            "attribute4": "Four",
            "attribute5": "Five"
        }, {
            "attribute4": "Four",
            "attribute5": "Five"
        }]
    }]

df = pd.DataFrame(data, columns=["attribute1", "attribute2", "attribute3"])
df.to_csv('example.csv')

attribute3中的数据仍然是JSON。如何使用索引访问attribute3的子属性值,即attribute4attribute5? 例如:data[0][2:0]用于获取第零行,第二列及其子属性为零的数据。

对于如何访问嵌套值,我将不胜感激。我应该展平包含嵌套值的单个列吗?我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

使用json_normalize()解析原始JSON(data)会更容易:

In [5]: pd.io.json.json_normalize(data, ['attribute3'], ['attribute1','attribute2'])
Out[5]:
  attribute4 attribute5 attribute1 attribute2
0       Four       Five        One        Two
1       Four       Five        One        Two