我有一個包含產品資料的字典串列。每個產品都有一個圖片網址。資料看起來很像下面。我撰寫了下面的代碼,它按預期作業,但我很確定這可以通過從items_dicts. 相反,我使用字典理解來回傳item_dict給定特定的新字典uniq_id,然后繼續從item_dict.
資料:
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()
uj5u.com熱心網友回復:
編輯:
要從您的uniq_iddicts串列中獲取一個特定值,例如123987在哪里,您可以使用以下命令:
[x['image_urls'] for x in items_dicts if x['uniq_id'] == '123987']
我不確定您的確切意圖,但是您可以通過使用串列理解輕松地從您的 dicts 串列中獲取所有 URL 的串列:
[x['image_urls'] for x in items_dicts]
給你:
['http://sitecom/image1.tif', 'http://sitecom/img/image2.tif']
然后,您可以獲取此串列并根據需要顯示它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/409744.html
標籤:
上一篇:while回圈列印不正確的問題
