首页 > 解决方案 > 如何使用 Python 将整数转换为字典中的字符串?

问题描述

我正在从大学记分卡 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}}

标签: pythonapidictionary

解决方案


我认为你让这变得比必要的更困难。而不是 for 循环,你可以做

print(data)

或者,如果您希望列表中的每个字典都在自己的行上,而不是

print(','.join(result.values()))

做就是了

print(result)

推荐阅读