|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
程序目的是对文本内容进行分词、过滤停用词
文件f4,也就是过滤完停用词的最后结果为空,求大神告知是为什么?
#删除原文档中空白行
f1=open('C:\\Users\\pc\\Desktop\\source.txt','a+')
with open('C:\\Users\\pc\\Desktop\\女装评论测试集2.txt','rb')as f:
lines=f.readlines()
for line in lines:
data=line.strip()
if len(data)!=0:
f1.write(data.decode('gbk'))
f1.write('\n')
f1.close
count=len(open('C:\\Users\\pc\\Desktop\\source.txt','rU').readlines())
print('文档预处理完毕')
print('文档行数为%d'%count)
#文本分词
import jieba
f2=open('C:\\Users\\pc\\Desktop\\try.txt','a+')
with open('C:\\Users\\pc\\Desktop\\source.txt','rb')as f1:
segs=jieba.cut(f1.read())
result=' '.join(segs)
f2.write(result)
f2.close()
print('分词完毕')
#导入停用词表
with open('C:\\Users\\pc\\Desktop\\stop_words.txt','rb')as f3:
stopwords=f3.read()
stop_list=stopwords.splitlines()#转换为列表
#过滤停用词
f4= open('C:\\Users\\pc\\Desktop\\delstopword.txt','a+')
with open('C:\\Users\\pc\\Desktop\\try.txt','r')as f2:
wordlist=[]
for line in f2.readline():
for word in line:
if word not in stop_list:
if len(word)>1:
wordlist.append(word)
for everyword in wordlist:
f4.write(everyword+'\n')
f4.close()
print('停用词过滤完毕') |
|