使用Python迭代节点内的对象数组
我使用此函数读取Instagram JSON文件的内容,并将信息保存在字典中。我有以下问题:如何迭代['node']['edge\u media\u to\u taged\u user']['edges']中的对象数组?这是我的代码:使用Python迭代节点内的对象数组,python,python-3.x,python-2.7,instagram,Python,Python 3.x,Python 2.7,Instagram,我使用此函数读取Instagram JSON文件的内容,并将信息保存在字典中。我有以下问题:如何迭代['node']['edge\u media\u to\u taged\u user']['edges']中的对象数组?这是我的代码: info = {} def store_data(file): with open(file) as f: data = json.load(f) try: info["tagged_
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']
当然,您的代码只适用于一个边缘-这是您要求的 在
data['node']['edge\u media\u to\u taged\u 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
如果没有对象的所有细节,很难找出代码的问题?也许你可以在json.load之后检查变量,看看这些字段是否与你的代码行匹配。我修改了这个问题以使它更清晰,并附上了一张图片。