从多个文件中删除停用词(NLTK)

时间:2018-08-14 13:42:28

标签: python python-3.x nltk stop-words

我有几个要使用的文本文件(本地文件夹),并且想要从该文件夹中的每个文件中删除停用词,并将新文件保存在一个子文件夹中。

一个文件的代码:

import io
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize

stop_words = set(stopwords.words('english'))
file1 = open("1_1.txt")
line = file1.read()
words = line.split()
for r in words:
    if not r in stop_words:
        appendFile = open('subfolder/1_1.txt','a')
        appendFile.write(" "+r)
        appendFile.close()

我认为我必须尝试使用​​glob吗?但是我似乎并不了解文档。我也许应该降低()文字?一定有一种超级简单的方法,但是我只为一个句子或一个文件找到教程,从不为多个文件找到教程。

1 个答案:

答案 0 :(得分:1)

import io
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize

stop_words = set(stopwords.words('english'))
file1 = open("file1.txt")
line = file1.read()
words = word_tokenize(line)
words_witout_stop_words = ["" if word in stop_words else word for word in words]
new_words = " ".join(words_witout_stop_words).strip()
appendFile = open('subfolder/file1.txt','w')
appendFile.write(new_words)
appendFile.close()

现在,您可以在localfolder的文件名中添加一个循环,一切顺利。