您好我是Python编程的新手,我需要帮助从目录中的多个文件中删除自定义的停止词。我在线阅读了几乎所有相关帖子!!!!
这是我的代码:
import io
import os
import os.path
import csv
os.chdir('/home/Documents/filesdirectory')
stopwords = open('/home/StopWords.dat','r').read().split('\n')
for i in os.listdir(os.getcwd()):
name= os.path.splitext(i)[0]
with open(i,"r") as fin:
with open(name,"w") as fout:
writer=csv.writer(fout)
for w in csv.reader(fin):
if w not in stopwords:
writer.writerow(w)
它不会给我任何错误但会创建空文件。很感谢任何形式的帮助。
答案 0 :(得分:0)
import os
import os.path
os.chdir('/home/filesdirectory')
for i in os.listdir(os.getcwd()):
filein = open(i, 'r').readlines()
fileout = open(i, 'w')
stopwords= open('/home/stopwords.dat', 'r').read().split()
for line in filein:
linewords= line.split()
filteredtext1 = []
filteredtext1 = [t for t in linewords if t not in stopwords]
filteredtext = str(filteredtext1)
fileout.write(filteredtext + '\n')
好吧,我解决了这个问题。 此代码删除每行的停用词(或您为其提供的任何单词列表),将每行写入具有相同filenmae的文件,最后用不带停用词的新文件替换旧文件。以下是步骤: