给定数据框的字典列表时,更新字典时无行

时间:2019-06-20 11:53:21

标签: python python-3.x pandas dataframe

我正在尝试用字典列表构建数据框。 每个字典都具有以下结构:

object = {
    "id": 12345678,
    "attributes": {
         "name":...,
         "updatedAt": ...,
         "etc": ...
     }
}

列表如下:

[
 [object,object,object],
 [object,object,object],
 ...
]

我只是将列表弄平,并仅使用捕获属性 df = pd.DataFrame([r["attributes"] for s in list for r in s])

但是当我想在属性中添加“ id”时出现问题

我尝试使用: df = pd.DataFrame([r["attributes"].update({"id": r["id"]}) for s in snippet_list for r in s])

但是它会返回一个包含空数据的数据框:

        0
0     None
1     None
2     None
3     None
4     None
5     None
6     None
7     None
8     None
9     None
10    None
11    None
12    None
13    None
14    None
15    None
16    None
17    None
18    None
19    None
20    None
21    None
22    None
23    None
24    None
25    None
26    None
27    None
28    None
29    None

预期输出:

        id    name   updatedAt
0     1234  cabesa  2019-06-20

1 个答案:

答案 0 :(得分:1)

update是返回None的变量。尝试使用{"id": r["id"], **r["attributes"]}来解压缩属性字典。