Расщепление синтаксиса и удаление повторяющихся слов - PullRequest
0 голосов
/ 28 августа 2018
Score      SynsetTerms
 1          soft#18 mild#3 balmy#2
 1          love#2 enjoy#3
0.625       love#1

Исходя из вышеизложенного, как я могу добиться результата, как показано ниже? Я хочу создать файл со словом и их оценкой, удалив дублирующиеся слова и разбив каждое слово на новую строку. Вместо этого будут выбраны повторяющиеся слова с более высоким баллом.

Score      SynsetTerms
 1          soft
 1          mild
 1          balmy
 1          enjoy
 1          love 

обратите внимание, что слово «любовь» со счетом 0,625 было удалено, сохраняется только слово «любовь» со счетом 1, поскольку оно имеет более высокий балл.

1 Ответ

0 голосов
/ 03 сентября 2018
import re
lst = []
dict = {}
i = 1
fhand = open('C:/Users/10648879/Documents/python_prog/data/test.csv', 'r')
for line in fhand:
    if i == 1:
    i = i + 1
continue
line = re.sub('#[0-9]*', '', line).strip()
line = re.split('\s+', line)
for counter in range(len(line)):
    if counter == 0:
    score = line[counter]
continue
if line[counter] in dict:
    if score > dict[line[counter]]:
    dict[line[counter]] = score
else :
    dict[line[counter]] = score
i = i + 1
print 'score' + ' ' + 'SynsetTerms'
for k, v in dict.items():
    print v, k
...