我正在使用大学记分卡API创建字典,但是在将整数查询加入字典时遇到了麻烦(即“ 2015.student.size”)。我将如何在我的代码中做到这一点?我已经尝试过“ str()for f in”,但这似乎不起作用。
这是我到目前为止用Python编写的内容:
import requests
import json
def main():
url = 'https://api.data.gov/ed/collegescorecard/v1/schools.json'
payload = {
'api_key': "api_key_here",
'_fields': ','.join([
'school.name',
'school.school_url',
'school.city',
'school.state',
'school.zip',
]),
'school.operating': '1',
'2015.academics.program_available.assoc_or_bachelors': 'true',
'2015.student.size__range': '1..',
'school.degrees_awarded.predominant__range': '1..3',
'school.degrees_awarded.highest__range': '2..4',
'id': '240444',
}
data = requests.get(url, params=payload).json()
for result in data['results']:
print(','.join(result.values()))
main()
运行程序时会发生什么:
vagrant@vagrant:/vagrant/scripts$ python test.py
Madison,www.wisc.edu,University of Wisconsin-Madison,WI,53706-1380
当我添加“打印数据”时:
{u'results': [{u'school.city': u'Madison', u'school.school_url': u'ww
w.wisc.edu', u'school.name': u'University of Wisconsin-Madison', u'sc
hool.state': u'WI', u'school.zip': u'53706-1380'}], u'metadata': {u'p
er_page': 20, u'total': 1, u'page': 0}}
答案 0 :(得分:2)
我认为您使这项工作变得不必要了。除了执行for循环外,您还可以这样做
print(data)
或者,如果您希望列表中的每个字典都位于单独的行,而不是
print(','.join(result.values()))
就做
print(result)