猿问

使用 Python 迭代节点内的对象数组

我使用此函数读取 Instagram JSON 文件的内容并将信息保存在字典中。我有以下问题:如何迭代 ['node']['edge_media_to_tagged_user']['edges'] 中的对象数组?这是我的代码:


info = {}


def store_data(file):


    with open(file) as f:

        data = json.load(f)


        try:

            info["tagged_users"] = data['node']['edge_media_to_tagged_user']['edges'][0]['node']['user']['username']

        except KeyError:

            info["tagged_users"] = "null"

        return info

如下图所示,数组中有 12 个对象,我的代码仅适用于第一个 [0]。我需要获取每个人的用户名。

数组示例

基本上:


data['node']['edge_media_to_tagged_user']['edges'][0]['node']['user']['username']

data['node']['edge_media_to_tagged_user']['edges'][1]['node']['user']['username']

data['node']['edge_media_to_tagged_user']['edges'][2]['node']['user']['username']

data['node']['edge_media_to_tagged_user']['edges'][3]['node']['user']['username']

...

data['node']['edge_media_to_tagged_user']['edges'][x]['node']['user']['username']


缥缈止盈
浏览 74回答 1
1回答

交互式爱情

当然,您的代码仅适用于一个边缘 - 这就是您所要求的下面data['node']['edge_media_to_tagged_user']['edges']是字典列表。要迭代列表,您只需使用 for 循环for each_edge in data['node']['edge_media_to_tagged_user']['edges']:     print(each_edge) # or whatever you wish to do here
随时随地看视频慕课网APP

相关分类

Python
我要回答