Я пытаюсь записать в файл список стоп-слов из NLTK.
Итак, я написал этот скрипт:
import nltk
from nltk.corpus import stopwords
from string import punctuation
file_name = 'OUTPUT.CSV'
file = open(file_name, 'w+')
_stopwords = set(stopwords.words('english')+list(punctuation))
i = 0
file.write(f'\n\nSTOP WORDS:+++\n\n')
for w in _stopwords:
i=i+1
out1 = f'{i:3}. {w}\n'
out2 = f'{w}\n'
out3 = f'{i:3}. {w}'
file.write(out2)
print(out3)
file.close()
Оригинальная программа использовала file.write(w)
, но, поскольку у меня возникли проблемы, я начал что-то пробовать.
Итак, я попытался использовать file.write(out1)
. Это работает, но порядок стоп-слов кажется случайным.
Что интересно, если я использую file.write(out2)
, я пишу только случайное количество стоп-слов, которые появляются в произвольном порядке, всегда меньше 211. У меня одна и та же проблема как в Visual Studio 2017, так и в Jupyter Notebook ,
Например, последний прогон написал 175 слов, оканчивающихся на:
its
wouldn
shan
Используя file.write(out1)
, я получаю все 211 слов, и столбец заканчивается следующим образом:
209. more
210. have
211. ,
Кто-нибудь сталкивался с подобной проблемой. Есть идеи о том, что может происходить?
Я новичок в Python / NLTK, поэтому я решил спросить.