繁体   English   中英

使用Python从没有循环的JSON对象中提取嵌套项

[英]Extracting nested items from a JSON object without loop using Python

我有一个嵌套的 JSON 对象,我想从嵌套项目中提取 2 个项目('id' 和 'name')。 我可以用循环来做到这一点,但我的方法感觉很笨拙 - 即使是新手。 有人可以建议更优雅的方法吗?

groups_requests ={'@odata.context': 'http://wabi-australia-southeast-redirect.analysis.windows.net/v1.0/myorg/$metadata#groups', '@odata.count': 2, 'value': [{'id': '53d06b2423-690f-4923-8f65-db710c038566', 'isReadOnly': False, 'isOnDedicatedCapacity': False, 'name': 'Steves_Test_App_workSpace'}, {'id': '988f6d4ea-14b2-4ad7-a899-ae4v0d974c9139', 'isReadOnly': False, 'isOnDedicatedCapacity': False, 'name': 'DataflowsTest'}]}

import pandas as pd
p=(groups_requests['value'])
mlis = []
for i in p:
    lis =[]
    lis.append(i['id'])
    lis.append(i['name'])
    mlis.append(lis)
df = pd.DataFrame(mlis)
df.columns = ['Workspaceid', 'Workspacename']
df

您可以使用列表理解来摆脱循环:

df = pd.DataFrame(
    [(e['id'], e['name']) for e in groups_requests['value']],
    columns=('Workspaceid', 'Workspacename')
)

暂无
暂无

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

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