【发布时间】:2019-08-08 11:15:36
【问题描述】:
您好,我目前正在使用 Python 3.X 运行以下代码:
import requests
jurisdiction = 'us'
name = 'netflix'
limit = 1
r = requests.get('https://opencorporates.com/reconcile?query={%22query%22:%22' + name + '%22,%20%22limit%22:' + str(limit) + ',%20%22jurisdiction_code%22:%22' + jurisdiction + '%22}')
print(type(r))
print(r.text)
这个的输出是
<class 'requests.models.Response'>
{"result":[{"id":"/companies/gb/12022722","name":"AMAZON-UK LIMITED","type":[{"id":"/organization/organization","name":"Organization"}],"score":69.0,"match":false,"uri":"https://opencorporates.com/companies/gb/12022722"}],"duration":157.957621}
我希望能够从响应中访问公司名称,然后将其添加到列表中。所以我可以遍历一堆名称/司法管辖区,并在最后有一个可以导出到 csv(或其他)的列表。
我认为使用 to.json 或 json.dump 或类似的东西可能会起作用,但我不确定该怎么做?如果需要,我愿意导入更多包,如 pandas 等。
【问题讨论】:
-
是的,您应该使用
r.json()或json.loads(r.text)将响应转换为Python 的dict,然后迭代列表并得到您想要的。 -
您好,我确实尝试过,它确实给了我一个字典,但结果如下:
{'result': [{'id': '/companies/gb/12022722', 'name': 'AMAZON-UK LIMITED', 'type': [{'id': '/organization/organization', 'name': 'Organization'}], 'score': 69.0, 'match': False, 'uri': 'https://opencorporates.com/companies/gb/12022722'}], 'duration': 160.53979500000003}所以结果键的第一个值是一个包含字典的列表?没有更好的方法吗?
标签: python json python-3.x response