删除停止词使用Python的推文

时间:2015-03-19 15:09:12

标签: python twitter stop-words

我有一个大的txt文件,包含每行分隔的推文。 现在我想删除这些消息中的'the','to'等停用词,并使用相同的推文获取新的文本文件但删除了停用词。

下面的代码出了什么问题?

谢谢!

import re, string

#this code removes stopwords
input_file = 'enneg2.txt'
output_file = 'enneg3.txt'

stoplist = set('for a of the and to in'.split())
table = string.maketrans("","")

with open(input_file) as f:
    lines = f.readlines()


for line in lines:
    filtered_line = [w for w in line.split() if not w in stoplist]
    with open(output_file, 'a') as myfile:
        myfile.write(filtered_line)

我收到错误消息:Traceback(最近一次调用最后一次):文件“delstopwords.py”,第19行,在myfile.write(filtered_line)中TypeError:期望一个字符缓冲区对象

1 个答案:

答案 0 :(得分:2)

缺少.split(),应该像这样写。 filter_line是一个列表,您需要将其转换回字符串以将其保存在文件中。

filtered_line = [w for w in line.split() if not w in stoplist]
filtered_line=' '.join(filtered_line)+'\n'
myfile.write(filtered_line)