字典中嵌套数据的问题

2024-06-02 09:02:06 发布

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

f = open("sample_flickr_response.json","r")
search_result_diction = json.loads(f.read())
print search_result_diction
f.close()
search_result_diction["id"]
for sample_photo_ids in sample_photo_ids["id"]:
    print sample_photo_ids['raw']

我有一些问题与我的上述代码。我试图打开文件并将文件中的数据加载到一个名为search\u result的变量中_用词变量搜索结果字典包含一个非常复杂的字典(见下文)。每个项目都有一个id。我正在尝试创建一个列表,列出搜索结果词汇数据表示的每个项目的所有id,并将该列表保存在名为sample photo id的变量中。你知道吗

我收到的当前错误是KeyError:'id'。你知道吗

下面是示例flickr的字典_响应.json你知道吗

{"photos": {"photo": [{"isfamily": 0, "title": "Most Torun\u0301ski w Koninie z mola na Bulwarze Nadwarcian\u0301skiego", "farm": 1, "ispublic": 1, "server": "695", "isfriend": 0, "secret": "94b1d76d0d", "owner": "54045201@N00", "id": "33119881551"}, {"isfamily": 0, "title": "Bulwar Nadwarcian\u0301ski w Koninie z Mostu Torun\u0301skiego", "farm": 4, "ispublic": 1, "server": "3917", "isfriend": 0, "secret": "198da64c38", "owner": "54045201@N00", "id": "32433652893"}, {"isfamily": 0, "title": "O Tejo \u00e9 mais belo que o rio que corre pela minha aldeia...", "farm": 1, "ispublic": 1, "server": "718", "isfriend": 0, "secret": "f41a26e2ec", "owner": "147331667@N03", "id": "33091881772"}, {"isfamily": 0, "title": "", "farm": 4, "ispublic": 1, "server": "3683", "isfriend": 0, "secret": "fa6920ee5a", "owner": "40048582@N03", "id": "33248116255"}, {"isfamily": 0, "title": "Junto al puente", "farm": 1, "ispublic": 1, "server": "678", "isfriend": 0, "secret": "a97299cca1", "owner": "57849799@N04", "id": "32433478723"}, {"isfamily": 0, "title": "Morning Gold", "farm": 3, "ispublic": 1, "server": "2885", "isfriend": 0, "secret": "1d4f4c0eb5", "owner": "15145314@N06", "id": "32433458873"}, {"isfamily": 0, "title": "Cullemu quassu ? (Corsica)", "farm": 4, "ispublic": 1, "server": "3748", "isfriend": 0, "secret": "02c36ebd92", "owner": "127818489@N07", "id": "33248054025"}, {"isfamily": 0, "title": "Chain Bridge", "farm": 1, "ispublic": 1, "server": "620", "isfriend": 0, "secret": "ee28ba6eb0", "owner": "143725955@N05", "id": "32865004100"}, {"isfamily": 0, "title": "The bridge was badly damaged by falling trees", "farm": 1, "ispublic": 1, "server": "729", "isfriend": 0, "secret": "03c342054c", "owner": "88273318@N05", "id": "33206363876"}, {"isfamily": 0, "title": "The Shard", "farm": 1, "ispublic": 1, "server": "598", "isfriend": 0, "secret": "874a39097f", "owner": "53851014@N06", "id": "33119518551"}, {"isfamily": 0, "title": "Thumbs up!", "farm": 4, "ispublic": 1, "server": "3724", "isfriend": 0, "secret": "deeb5a53af", "owner": "88273318@N05", "id": "33119511671"}, {"isfamily": 0, "title": "Adroit contortioning got us through the maze of branches", "farm": 4, "ispublic": 1, "server": "3721", "isfriend": 0, "secret": "88077093b6", "owner": "88273318@N05", "id": "33247891385"}, {"isfamily": 0, "title": "Ardeche Panorama", "farm": 4, "ispublic": 1, "server": "3791", "isfriend": 0, "secret": "f147aba45d", "owner": "34659207@N03", "id": "33247881545"}, {"isfamily": 0, "title": "Ardeche mono", "farm": 4, "ispublic": 1, "server": "3718", "isfriend": 0, "secret": "8bbc69b3a2", "owner": "34659207@N03", "id": "33206275196"}, {"isfamily": 0, "title": "Ezgi goes first", "farm": 1, "ispublic": 1, "server": "698", "isfriend": 0, "secret": "23c18529ff", "owner": "88273318@N05", "id": "32864887490"}, {"isfamily": 0, "title": "More landslide debris to work our way through", "farm": 4, "ispublic": 1, "server": "3929", "isfriend": 0, "secret": "e0247dace2", "owner": "88273318@N05", "id": "32864826730"}, {"isfamily": 0, "title": "A large boulder just missed the bench", "farm": 1, "ispublic": 1, "server": "730", "isfriend": 0, "secret": "179d67c529", "owner": "88273318@N05", "id": "33119372751"}, {"isfamily": 0, "title": "P1030528", "farm": 4, "ispublic": 1, "server": "3761", "isfriend": 0, "secret": "f0a3f2980a", "owner": "40695821@N00", "id": "32433136103"}, {"isfamily": 0, "title": "View up the Rogue River", "farm": 4, "ispublic": 1, "server": "3750", "isfriend": 0, "secret": "91d1e1ec60", "owner": "88273318@N05", "id": "33091455582"}, {"isfamily": 0, "title": "Coming Together", "farm": 1, "ispublic": 1, "server": "582", "isfriend": 0, "secret": "b2b733c26e", "owner": "21237603@N00", "id": "33206118806"}, {"isfamily": 0, "title": "Deja vu", "farm": 4, "ispublic": 1, "server": "3947", "isfriend": 0, "secret": "2499616ce3", "owner": "66869919@N04", "id": "33206004366"}, {"isfamily": 0, "title": "Path to H\u00e4llings\u00e5fallet, Frostviken", "farm": 3, "ispublic": 1, "server": "2919", "isfriend": 0, "secret": "ca326bbe20", "owner": "130169984@N05", "id": "33090793192"}, {"isfamily": 0, "title": "Clouds reflect on the lake", "farm": 3, "ispublic": 1, "server": "2938", "isfriend": 0, "secret": "b5bbf97fb8", "owner": "88273318@N05", "id": "32433055673"}, {"isfamily": 0, "title": "Bend in the lake's arm", "farm": 4, "ispublic": 1, "server": "3770", "isfriend": 0, "secret": "45e305e7f3", "owner": "88273318@N05", "id": "32864696620"}, {"isfamily": 0, "title": "Lane and Colby's turn", "farm": 1, "ispublic": 1, "server": "602", "isfriend": 0, "secret": "075d3de10c", "owner": "88273318@N05", "id": "32864654800"}, {"isfamily": 0, "title": "OVIS CANADENSIS (Bighorn sheep), Muncho Lake, Alaska Highway", "farm": 4, "ispublic": 1, "server": "3693", "isfriend": 0, "secret": "8c70df07e1", "owner": "71393709@N06", "id": "33206038456"}, {"isfamily": 0, "title": "Ezgi has a moment of concern", "farm": 4, "ispublic": 1, "server": "3677", "isfriend": 0, "secret": "11613de3b1", "owner": "88273318@N05", "id": "33119196241"}, {"isfamily": 0, "title": "Ezgi works her way across the slide", "farm": 4, "ispublic": 1, "server": "3873", "isfriend": 0, "secret": "1a48335ee7", "owner": "88273318@N05", "id": "32864564520"}, {"isfamily": 0, "title": "Experimental magic - Portage Creek at Central Park", "farm": 1, "ispublic": 1, "server": "638", "isfriend": 0, "secret": "b6b8328191", "owner": "10159855@N08", "id": "33119149481"}, {"isfamily": 0, "title": "Striking color of the lake", "farm": 1, "ispublic": 1, "server": "631", "isfriend": 0, "secret": "e3db7becd1", "owner": "88273318@N05", "id": "33091265332"}, {"isfamily": 0, "title": "Working our way through the landslide debris", "farm": 4, "ispublic": 1, "server": "3742", "isfriend": 0, "secret": "e7df4dc912", "owner": "88273318@N05", "id": "32864486830"}, {"isfamily": 0, "title": "Cagliari notturna", "farm": 4, "ispublic": 1, "server": "3672", "isfriend": 0, "secret": "101ae4a45f", "owner": "27316863@N06", "id": "33091220922"}, {"isfamily": 0, "title": "Second of Aber Falls", "farm": 3, "ispublic": 1, "server": "2876", "isfriend": 0, "secret": "b556f5001f", "owner": "57598110@N05", "id": "32864453330"}, {"isfamily": 0, "title": "Uh oh, a landslide took out part of the trail", "farm": 1, "ispublic": 1, "server": "659", "isfriend": 0, "secret": "8b93f3b5eb", "owner": "88273318@N05", "id": "32864448760"}, {"isfamily": 0, "title": "Cagliari notturna", "farm": 1, "ispublic": 1, "server": "745", "isfriend": 0, "secret": "d5288ee46b", "owner": "27316863@N06", "id": "32403444924"}, {"isfamily": 0, "title": "Madrone and fir mix of forest", "farm": 1, "ispublic": 1, "server": "736", "isfriend": 0, "secret": "707e1fe4b6", "owner": "88273318@N05", "id": "33205840676"}, {"isfamily": 0, "title": "Snowy hill on the other side of the lake", "farm": 1, "ispublic": 1, "server": "706", "isfriend": 0, "secret": "fc98901f1e", "owner": "88273318@N05", "id": "33205798806"}, {"isfamily": 0, "title": "Vista notturna dal Bastione di Santa Croce", "farm": 1, "ispublic": 1, "server": "628", "isfriend": 0, "secret": "2efa6819c5", "owner": "27316863@N06", "id": "32864374470"}, {"isfamily": 0, "title": "Train", "farm": 4, "ispublic": 1, "server": "3690", "isfriend": 0, "secret": "1ce9f1e68b", "owner": "134215371@N04", "id": "32403385944"}, {"isfamily": 0, "title": "2017_03_04_Umea__1200478_exported_edited", "farm": 1, "ispublic": 1, "server": "693", "isfriend": 0, "secret": "6c1d85d6dc", "owner": "71516088@N00", "id": "33118917081"}, {"isfamily": 0, "title": "Stagno del Perdalonga e Cagliari sullo sfondo", "farm": 3, "ispublic": 1, "server": "2872", "isfriend": 0, "secret": "e9c45d55a5", "owner": "27316863@N06", "id": "32432673893"}, {"isfamily": 0, "title": "Archeologia industriale a Cagliari", "farm": 4, "ispublic": 1, "server": "3869", "isfriend": 0, "secret": "3545ca5d5b", "owner": "27316863@N06", "id": "32403223804"}, {"isfamily": 0, "title": "Icicles decorated a mossy overhang", "farm": 1, "ispublic": 1, "server": "671", "isfriend": 0, "secret": "817bd8ed78", "owner": "88273318@N05", "id": "33091111222"}, {"isfamily": 0, "title": "Despite the sunny day, it still was cold", "farm": 1, "ispublic": 1, "server": "659", "isfriend": 0, "secret": "58f8fd13d7", "owner": "88273318@N05", "id": "32864329110"}, {"isfamily": 0, "title": "Trail, on a beautiful day", "farm": 3, "ispublic": 1, "server": "2911", "isfriend": 0, "secret": "2c270e78fe", "owner": "88273318@N05", "id": "32432701533"}, {"isfamily": 0, "title": "Spectacular rock next to the trail", "farm": 3, "ispublic": 1, "server": "2898", "isfriend": 0, "secret": "cf6d010aed", "owner": "88273318@N05", "id": "33090998982"}, {"isfamily": 0, "title": "Rio Trovoadinha", "farm": 4, "ispublic": 1, "server": "3829", "isfriend": 0, "secret": "e6925ef5d9", "owner": "61969471@N02", "id": "33118765501"}, {"isfamily": 0, "title": "Colorful reflections", "farm": 4, "ispublic": 1, "server": "3708", "isfriend": 0, "secret": "21337df2fd", "owner": "99114600@N08", "id": "32432576213"}, {"isfamily": 0, "title": "Gullfoss - Iceland", "farm": 1, "ispublic": 1, "server": "666", "isfriend": 0, "secret": "2ee20a355b", "owner": "47882555@N00", "id": "32432544963"}, {"isfamily": 0, "title": "River Colne Staines-upon-Thames", "farm": 4, "ispublic": 1, "server": "3769", "isfriend": 0, "secret": "b988153d59", "owner": "26357712@N03", "id": "33205558876"}], "pages": 5051, "total": "252517", "page": 1, "perpage": 50}, "stat": "ok"}

Tags: ofthesampleidsecretservertitleowner
1条回答
网友
1楼 · 发布于 2024-06-02 09:02:06

借用@roganjosh's comment,一种获得id的惯用方法:

ids = [item["id"] for item in search_result_diction["photos"]["photo"]]

将给您一个listid,然后您可以打印:

for id in ids:
    print id

输出:

33119881551
32433652893
33091881772
...

在一个for循环中,更接近您在问题中使用的内容,这也会给您相同的结果:

for item in search_result_diction["photos"]["photo"]:
    print item["id"]

相关问题 更多 >