Я пытаюсь удалить стоп-слова из файла .txt с разделителями табуляции, используя следующий код:
import io
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
file = open('textposts_01.txt', encoding='UTF-8')
stop_words = set(stopwords.words('english'))
line = file.read()
words = line.split()
for r in words:
if not r in stop_words:
appendFile = open('textposts_02.txt', mode='a', encoding='UTF-8')
appendFile.write(" "+r)
appendFile.close()
Код выполняется успешно, но при просмотре результатов все строки были повторно записано в одну строку. Как я могу поддерживать столбцы при удалении стоп-слов?
В похожем сообщении я нашел следующее решение:
import io
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
file = open('textposts_01.txt', encoding='UTF-8')
stop_words = set(stopwords.words('english'))
line = file.read()
words = line.split()
for r in words:
if not r in stop_words:
appendFile = open('textposts_02.txt', mode='a', encoding='UTF-8')
appendFile.write(" "+r)
appendFile.write("\n")
appendFile.close()
Но вставка новой строки просто создала новую строку после каждого слова, так что если я начинаю со строки, подобной этой:
0 make a list of every person you know
результаты выглядят так:
0
make
list
every
person
know
и мне нужны результаты в строках примерно так:
0 make list every person
Я искал некоторое время, но не нашел никаких решений.