论Pandas的亲本属性

2024-06-25 23:27:28 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的json

{
    "fInstructions": [
        {
            "id": 155,
            "type":"finstruction",
            "ref": "/spm/finstruction/155",
            "iLineItem":[
                {
                    "id": 156,
                    "type":"ilineitem",
                    "ref": "/spm/ilineitem/156",
                    "creationDate": "2018-03-09",
                    "dueDate":"2018-02-01",
                    "effectiveDate":"2018-03-09",
                    "frequency":"01",
                    "coveredPeriodFrom":"2018-02-28",
                    "coveredPeriodTo":"2018-02-28",
                    "statusCode":"PRO",
                    "amount": 6
                },
                {
                    "id": 157,
                    "type":"ilineitem",
                    "ref": "/spm/ilineitem/157",
                    "creationDate": "2018-03-09",
                    "dueDate":"2018-02-01",
                    "effectiveDate":"2018-03-09",
                    "frequency":"01",
                    "coveredPeriodFrom":"2018-03-01",
                    "coveredPeriodTo":"2018-03-31",
                    "statusCode":"PRO",
                    "amount": 192
                }
            ]
        }
    ]
}

如果我这样做:

^{pr2}$

我得到了两排,和预期的一样。但是,我还想让父属性id在结果集中键入。我试着:

json_normalize(df_data_1['fInstructions'], record_path=['iLineItem'], meta=['id', 'type'])

但我得到: ValueError:元数据名称id冲突,需要区分前缀

所以我试着:

json_normalize(df_data_1['fInstructions'], record_path=['iLineItem'], meta=['fInstructions.id'])

这给了我:

KeyError: "Try running with errors='ignore' as key 'fInstructions.id' is not always present"

Tags: refidjsontypefrequencyspmcreationdateduedate