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

2024-10-03 13:18:31 发布

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

我有一个嵌套的JSON对象,我想从嵌套项中提取两个项('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

Tags: 方法nameidfalsedfvaluerequestspd
1条回答
网友
1楼 · 发布于 2024-10-03 13:18:31

您可以使用列表理解来消除循环:

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

相关问题 更多 >