2016-03-17 4 views
-1

Я новичок в Python и имеют следующий код:Отображение JSON конкретного результата JSON в Python

def doSentimentAnalysisAndPrint(keyval): 
    import urllib 

    data = urllib.urlencode(keyval) 
    u = urllib.urlopen("http://text-processing.com/api/sentiment/", data) 
    json_string = u.read() 

    parsed_json = json.loads(json_string) 

    # print the various key:values 
    print(parsed_json['probability']) 
    print ">>", parsed_json['label'] 

Результаты печати:

{u'neg': 0.24087437946650492, u'neutral': 0.19184084028194423, u'pos': 0.7591256205334951} 
>> pos 

Я хотел бы напечатать только фактическое результат? НАПРИМЕР. в этом случае «Положительный: 0.7591256205334951», но не знаете, как этого добиться?

+2

Я не уверен, что вы имеете в виду с «фактическим результатом» Вы имеете в виде, используя 'parsed_json [ 'ярлыка '] [' pos '] '? – Carpetsmoker

+0

Да, я хочу напечатать самое высокое возвращаемое значение – TripVoltage

+0

@Carpetsmoker' parsed_json [' label '] 'return' pos' OP mean 'parsed_json [' chance '] [' pos '] ' – Hacketo

ответ

2

Прочтите API documentation при его использовании. В 'label' ключ указывает на то, что ключ в 'probability' словаря определенное настроение:

метка: будет либо pos, если текст определяется как положительным, neg если текст отрицательный, или neutral, если текст не является pos или neg.

вероятность: объект, который содержит вероятность для каждой метки. neg и pos будет содержать до 1, а neutral - автономный. Если neutral больше 0.5, то label будет neutral. В противном случае label будет pos или neg, в зависимости от того, какая из них имеет большую вероятность.

Значит, у вас уже есть метка, а соответствующее значение - только ключевой поиск. Карта значений меток в строку для печати (например, pos отображения на Positive, и объединить два:

sentiments = {'pos': 'Positive', 'neg': 'Negative', 'neutral': 'Neutral'} 
label = parsed_json['label'] 
print sentiments[label], parsed_json['probability'][label] 
+0

Спасибо за вашу помощь, именно то, что я хотел. – TripVoltage

Смежные вопросы