Я работаю с словарями python и ntlk на некоторых отзывах. У меня есть и вход (txt
) файл, который является простым обзором. В словаре all_dict.txt
. У меня есть все слова (отрицательные и положительные) со словом полярности и значения.Как получить значения словаря в Python
all_dict.txt
выглядит следующим образом
"acceptable":("positive",1),"good":("positive",1),"shame":("negative",2),"bad":("negative",4),...
Я хочу знать, как я могу получить эти полярности из словаря и значения чисел для каждого слова, так что я могу получить выход так:
"acceptable_positive":1,"good_positive":1,"shame_negative":2,"bad_negative":4
Я пробовал с dict.get()
, dict.values
, но я не получаю то, что хочу. Есть ли способ для извлечения ключа и значения автоматически ?:
Я пытался с моим кодом:
f_all_dict=open('all_dict.txt','r',encoding='utf-8').read()
f = eval(f_all_dict)
result_all = {}
for word in f.items():
suffix, pol=result_all[word] #pol->polarity
result_all[word + "_" + suffix] = pol
Но я получаю KeyError
если слово не существует во входном файле (обзор).
Спасибо за вашу помощь
«возвращать кортеж ключа и значения» не соответствует действительности, он возвращает экземпляр 'dict_items', который может быть повторен. –
@MarkusMeskanen Действительно, я просто пропустил тег Python 3.x :-) – Kasramvd
Это помогло, я использовал 'literal_eval()' и модифицировал свой код с этим. Я получил результаты, которые хотел. Спасибо :) –