Преобразование множественного числа в единственное число в текстовом файле с помощью Python
У меня есть текстовые файлы, которые выглядят так:
word, 23
Words, 2
test, 1
tests, 4
И я хочу, чтобы они выглядели так:
word, 23
word, 2
test, 1
test, 4
Я хочу иметь возможность взять текстовый файл в Python и преобразовать множественные слова в единственном числе. Вот мой код:
import nltk
f = raw_input("Please enter a filename: ")
def openfile(f):
with open(f,'r') as a:
a = a.read()
a = a.lower()
return a
def stem(a):
p = nltk.PorterStemmer()
[p.stem(word) for word in a]
return a
def returnfile(f, a):
with open(f,'w') as d:
d = d.write(a)
#d.close()
print openfile(f)
print stem(openfile(f))
print returnfile(f, stem(openfile(f)))
Я также попробовал эти 2 определения вместоstem
определение:
def singular(a):
for line in a:
line = line[0]
line = str(line)
stemmer = nltk.PorterStemmer()
line = stemmer.stem(line)
return line
def stem(a):
for word in a:
for suffix in ['s']:
if word.endswith(suffix):
return word[:-len(suffix)]
return word
После этого я хотел бы взять повторяющиеся слова (например,test
а такжеtest
) и объедините их, сложив числа рядом с ними. Например:
word, 25
test, 5
Я не уверен, как это сделать. Решение было бы хорошо, но не обязательно.