【发布时间】:2016-04-13 16:35:02
【问题描述】:
尝试通过 python 解析来自 JSON 数据的几个单独的图像链接,但由于我认为有一个字符串列表,因此有一些问题深入到正确的级别。
对于大多数项目,我在下面的示例中取得了成功,撤回了我需要的所有内容。在此实例之外,所有内容都是 1:1 的键:值比例,但对于这个实例,有多个值与一个键关联。
resultsdict['item_name'] = item['attribute_key']
我一直将其全部添加到 resultsdict={},但我只能在打印时访问下面的示例字符串。
输入:
for item in data['Item']:
resultsdict['images'] = item['Variations']['Pictures']
输出(仅相关部分):
'images': [{u'VariationSpecificPictureSet': [{u'PictureURL': [u'http//imagelink1'], u'VariationSpecificValue': u'color1'}, {u'PictureURL': [u'http//imagelink2'], u'VariationSpecificValue': u'color2'}, {u'PictureURL': [u'http//imagelink3'], u'VariationSpecificValue': u'color3'}, {u'PictureURL': [u'http//imagelink4'], u'VariationSpecificValue': u'color4'}]
我觉得我可以在初始输入的末尾添加['VariationPictureSet']['PictureURL'],但由于索引不是整数而是字符串,这会引发错误。
理想情况下,我希望将输出视为仅包含 URL 的简单逗号分隔列表,如下所示:
输出:
'images': http//imagelink1, http//imagelink2, http//imagelink3, http//imagelink4
【问题讨论】:
-
你得到的错误到底是什么,因为看起来你有 unicode 字符串,也许你需要转换它们。
-
@uzzee 这取决于我尝试的输入。复制输入的其他区域,我会使用... resultsdict['images'] = items['Variations']['Pictures']['VariationsSpecificPictureSet']['PictureURL'] 并得到错误:列表索引必须是整数,而不是 str
-
好的,试试
resultsdict['images'] = items['Variations']['Pictures'][0]['VariationsSpecificPictureSet'][0]['PictureURL'] -
@uzzee 这当然有帮助,谢谢。我将如何访问所有符合该标准的图片链接?
标签: python string parsing dictionary