从python上的特定列表中提取元素

时间:2017-09-08 12:58:05

标签: python json list extract elements

以下是要分析的块:

('images\\Principales\\Screenshot_1.png', '{"categories":[{"name":"abstract_","score":0.00390625},{"name":"outdoor_","score":0.01171875},{"name":"outdoor_road","score":0.41796875}],"description":{"tags":["road","building","outdoor","scene","street","city","sitting","empty","light","view","driving","red","sign","intersection","green","large","riding","traffic","white","tall","blue","fire"],"captions":[{"text":"a view of a city street","confidence":0.83864323826716347}]},"requestId":"73fc14d5-653f-4a0a-a45a-e7a425580361","metadata":{"width":150,"height":153,"format":"Png"},"color":{"dominantColorForeground":"Grey","dominantColorBackground":"Grey","dominantColors":["Grey"],"accentColor":"274A68","isBWImg":false}}')

我需要在"描述"之后提取所有元素,但我不知道如何做到这一点......(事实上,我需要这些元素:

"road", "building","outdoor","scene","street","city","sitting","empty","light","view","driving","red","sign","intersection","green","large","riding","traffic","white","tall","blue","fire"

我已经找了几分钟,但我不明白怎么做!我是一个有点初学者的学习"列表"元素,我仍然很难理解。

" For"循环只返回'images\\Principales\\Screenshot_1.png',然后剩下的大块......

你有解决方案吗?

谢谢你的到来!

修改

确实,它实际上是JSON!感谢帮助我的人:) 为了提取第二个块中包含的所需元素,我只是这样继续:

import json
ElementSeparate= '{"categories":[{"name":"abstract_","score":0.00390625},{"name":"outdoor_","score":0.01171875},{"name":"outdoor_road","score":0.41796875}],"description":{"tags":["road","building","outdoor","scene","street","city","sitting","empty","light","view","driving","red","sign","intersection","green","large","riding","traffic","white","tall","blue","fire"],"captions":[{"text":"a view of a city street","confidence":0.83864323826716347}]},"requestId":"73fc14d5-653f-4a0a-a45a-e7a425580361","metadata":{"width":150,"height":153,"format":"Png"},"color":{"dominantColorForeground":"Grey","dominantColorBackground":"Grey","dominantColors":["Grey"],"accentColor":"274A68","isBWImg":false}'
ElementSeparate = json.loads(ElementSeparate)
for a in ElementSeparate['description']['tags']:
    print a

1 个答案:

答案 0 :(得分:0)

对我而言,您似乎正在尝试解析JSON。您应该将JSON解析器用于数组的第二个元素。你会找回列表或字典。然后,您将能够从“描述”键中提取数据。

https://docs.python.org/3/library/json.html