【发布时间】:2017-08-09 10:52:54
【问题描述】:
我试图从 html 中提取值,然后将它们转换为 json 数组,到目前为止,我已经能够得到我想要的,但只能作为单独的字符串:
我做了两个 for 循环:
for line in games_html.findAll('div', class_="product_score"):
score= ("{'Score': %s}" % line.getText(strip=True))
print score
for line in games_html.findAll('a'):
title= ("{'Title': '%s'}" % line.getText(strip=True))
print title
产生这两个输出:
{'Title': 'Uncanny Valley'}
{'Title': 'Subject 13'}
{'Title': '2Dark'}
{'Title': 'Lethal VR'}
{'Title': 'Earthlock: Festival of Magic'}
{'Title': 'Knee Deep'}
{'Title': 'VR Ping Pong'}
和
{'Score': 73}
{'Score': 73}
{'Score': 72}
{'Score': 72}
{'Score': 72}
{'Score': 71}
{'Score': 71}
(它们更长,但你可以通过这个得到一个想法......)
如何使用 python 从这些中创建一个 json 数组,如下所示:
[{'Title': 'Uncanny Valley', 'Score': 73}, {....}]
之后我将使用生成的数组来做其他事情......
我是否需要将循环中的项目存储到列表中然后合并它们?您能否根据我的情况举例说明?
非常感谢您的帮助,这对我来说是一次非常酷的学习体验,因为到目前为止我只使用过 bash。 Python 看起来更性感。
【问题讨论】:
-
提示:使用新的
.format字符串格式,而不是非常旧且更有限的%字符串格式。 -
所以我以一种不推荐的方式学习这个:(,感谢您指出这一点
标签: python json list loops maps