繁体   English   中英

如何将 python 中的字典列表拆分为具有值名称的列?

[英]How do I split a list of dicts in python into columns with names of the values?

我正在尝试使用他们的 API / Python 3.9 构建一些关于 Asana 任务的自定义报告。

API 具有调用“custom_fields”的参数,但将这些自定义字段作为嵌套列表返回。

具体来说,当我将结果解析为 pandas 数据帧时,包含自定义字段的列如下所示:

[
{'gid': '123', 'name': 'Priority', 'display_value': 'abc'}, 
{'gid': '456', 'name': 'Estimated Minutes', 'display_value': 'abc'}, 
{'gid': '789', 'name': 'Status 1', 'display_value': 'abc'}, 
{'gid': 'a12', 'name': 'Status 2', 'display_value': 'abc'}, 
{'gid': 'b24', 'name': 'Status 3', 'display_value': 'abc'}, 
{'gid': '745', 'name': 'Status', 'display_value': 'abc'}
]

我想把它分成几列,这样:

  • 列名是“名称”属性
  • 列值是“display_value”属性

请注意,数据框中的不同行可能具有上述列表/字典的不同种类。 例如,有些可能有所有列,有些可能有更多,有些可能有更少。 最终,我希望最终状态数据框具有对应于整个数据框中所有唯一属性的列。

谢谢!

不清楚你在问什么……这是你想要的吗?

data = [
{'gid': '123', 'name': 'Priority', 'display_value': 'abc'}, 
{'gid': '456', 'name': 'Estimated Minutes', 'display_value': 'abc'}, 
{'gid': '789', 'name': 'Status 1', 'display_value': 'abc'}, 
{'gid': 'a12', 'name': 'Status 2', 'display_value': 'abc'}, 
{'gid': 'b24', 'name': 'Status 3', 'display_value': 'abc'}, 
{'gid': '745', 'name': 'Status', 'display_value': 'abc'}
]

df = pd.DataFrame(data)
df = df.set_index('name').T
print(df)

Output:

name          Priority Estimated Minutes Status 1 Status 2 Status 3 Status
gid                123               456      789      a12      b24    745
display_value      abc               abc      abc      abc      abc    abc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM