如何从字典列表中检索图像 url 并显示它
How to retrieve a image url from a list of dictionaries and display it
我有一个包含产品数据的字典列表。每个产品有一张图片 url。数据看起来非常像下面。我写了下面的代码,它按预期工作,但我很确定这可以通过从 items_dicts
中检索 url 一步完成。我改为使用字典理解 return 给定特定 uniq_id
的新字典 item_dict
,然后继续从 item_dict
.[=17= 检索 url ]
数据:
items_dicts = [
{
"uniq_id":"123987",
"sku":"123",
"name":"ABC",
"cat":"DEF",
"cat_tree":"A|B|C",
"image_urls":"http://sitecom/image1.tif"
},
{
"uniq_id":"987123",
"sku":"987",
"name":"GHI",
"cat":"JKL",
"cat_tree":"Z|Y|X",
"image_urls":"http://sitecom/img/image2.tif"
}
]
代码:
# import modules
import urllib.request
from PIL import Image
# Return a specific product dict and assign it to item_1
item_dict = {i['uniq_id'] : i for i in items_dicts}
item_1 = item_dict.get('987123', 'None')
# Retrieve img url from item_1 dict
# And save it as item_img.png
urllib.request.urlretrieve(item_1.get('image_urls'),"img.png")
# Open item img and display it
item_img = Image.open("img.png")
item_img.show()
编辑:
要从您的字典列表中获取一个特定值,例如 uniq_id
是 123987,您可以使用以下命令:
[x['image_urls'] for x in items_dicts if x['uniq_id'] == '123987']
我不确定你的确切意图,但你可以通过使用列表理解轻松地从你的字典列表中获取所有 URL 的列表:
[x['image_urls'] for x in items_dicts]
给你:
['http://sitecom/image1.tif', 'http://sitecom/img/image2.tif']
然后您可以获取此列表并根据需要显示它。
我有一个包含产品数据的字典列表。每个产品有一张图片 url。数据看起来非常像下面。我写了下面的代码,它按预期工作,但我很确定这可以通过从 items_dicts
中检索 url 一步完成。我改为使用字典理解 return 给定特定 uniq_id
的新字典 item_dict
,然后继续从 item_dict
.[=17= 检索 url ]
数据:
items_dicts = [
{
"uniq_id":"123987",
"sku":"123",
"name":"ABC",
"cat":"DEF",
"cat_tree":"A|B|C",
"image_urls":"http://sitecom/image1.tif"
},
{
"uniq_id":"987123",
"sku":"987",
"name":"GHI",
"cat":"JKL",
"cat_tree":"Z|Y|X",
"image_urls":"http://sitecom/img/image2.tif"
}
]
代码:
# import modules
import urllib.request
from PIL import Image
# Return a specific product dict and assign it to item_1
item_dict = {i['uniq_id'] : i for i in items_dicts}
item_1 = item_dict.get('987123', 'None')
# Retrieve img url from item_1 dict
# And save it as item_img.png
urllib.request.urlretrieve(item_1.get('image_urls'),"img.png")
# Open item img and display it
item_img = Image.open("img.png")
item_img.show()
编辑:
要从您的字典列表中获取一个特定值,例如 uniq_id
是 123987,您可以使用以下命令:
[x['image_urls'] for x in items_dicts if x['uniq_id'] == '123987']
我不确定你的确切意图,但你可以通过使用列表理解轻松地从你的字典列表中获取所有 URL 的列表:
[x['image_urls'] for x in items_dicts]
给你:
['http://sitecom/image1.tif', 'http://sitecom/img/image2.tif']
然后您可以获取此列表并根据需要显示它。