2017-02-04 2 views
0
import requests 
r = requests.get('some url') 
data = r.text 

{ "NumberOfPassedStudents": "21061", "TotalAttendedCandidates": "74494", "NumberOfEnrolledStudents": "84308"}Третья сторона Интеграция API в Python/Django

выше выход Я получил это выглядит как dictionary, но это не dictionary это Unicode. Мой вопрос, я хочу, чтобы получить выход в поле ниже упоминанием образом

Количества пройденных студентов: 21061
Всего Посещали Кандидатов: 74494
Количества зачисленных студентов: 84308

Что такое код в python 2.7 для преобразования этих Unicode в мое желание выше упоминания вывода.

ответ

0
import re 
data={"NumberOfPassedStudents":"21061","TotalAttendedCandidates":"74494","NumberOfEnrolledStudents":"84308"} 
for k,v in data.iteritems(): 
    print re.sub(r"(\w)([A-Z])", r"\1 \2",k) +" : "+ v 

выход

Number Of Passed Students : 21061 
Total Attended Candidates : 74494 
Number Of Enrolled Students : 84308 
+0

мой выход выглядит как словарь, но это юникод. –

+0

конвертировать объект unicode в json с помощью json.loads(), а затем обрабатывать словарь – Cadmus

+0

Можете ли вы объяснить регулярное выражение .... Как это работает –

0

Чтобы перебрать ключевые значения а Dict Вам необходимо использовать items() метод:

my_dict = {'a':'foo', 'b':'bar'} 
for key, value in my_dict.iteritems(): 
    print key, value 

это печатает

a foo 
b bar 

для раскола, который верблюжий пойти в this answer

+0

Мой вывод выглядит как словарь, но это unicode –

2

Вы можете использовать метод json() встроенных для преобразования данных ответа HTTP для питона dict когда у вас есть тип содержимого application/json.

>>> r = requests.get('https://someurl.com') 
>>> r.text 
u'{"type":"User"...' 
>>> r.headers['content-type'] 
'application/json; charset=utf8' 
>>> result = r.json() 
>>> result 
{u'private_gists': 419, u'total_private_repos': 77, ...} 

Если у вас есть другой тип содержимого, вы можете использовать json модуль для преобразования возврата строки/Юникода в Python dict

import json, requests 

r = requests.get('some url') 
result = json.loads(r.text) 

Тогда вы можете получить желаемый результат, обрабатывая свой результат как a dict

print 'Number of Passed Students : %s' % result['NumberOfPassedStudents'] 
print 'Total Attended Candidates : %s' % result['TotalAttendedCandidates'] 
print 'Number of Enrolled Students : %s' % result['NumberOfEnrolledStudents'] 
Смежные вопросы