【cutComments.py】分词统计词频函数定义
This commit is contained in:
@@ -0,0 +1,31 @@
|
|||||||
|
import jieba
|
||||||
|
import re
|
||||||
|
|
||||||
|
def main():
|
||||||
|
reader = open('./cutComments.txt','r',encoding='utf8')
|
||||||
|
strs = reader.read()
|
||||||
|
result = open('./cipingTotal.csv','w',encoding='utf8')
|
||||||
|
|
||||||
|
# 分词,去重,列表
|
||||||
|
word_list = jieba.cut(strs,cut_all=True)
|
||||||
|
|
||||||
|
new_words = []
|
||||||
|
for i in word_list:
|
||||||
|
m = re.search("\d+",i)
|
||||||
|
n = re.search("\W+",i)
|
||||||
|
if not m and not n and len(i) > 1:
|
||||||
|
new_words.append(i)
|
||||||
|
|
||||||
|
# 统计词频
|
||||||
|
word_count = {}
|
||||||
|
for i in set(new_words):
|
||||||
|
word_count[i] = new_words.count(i)
|
||||||
|
|
||||||
|
# 格式整理
|
||||||
|
list_count = sorted(word_count.items(),key=lambda x:x[1],reverse=True)
|
||||||
|
|
||||||
|
for i in range(100):
|
||||||
|
print(list_count[i],file=result)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
from utils.getPublicData import getAllCommentsData
|
||||||
|
import jieba
|
||||||
|
targetTxt = 'cutComments.txt'
|
||||||
|
|
||||||
|
def stopWordList():
|
||||||
|
stopWords = [line.strip() for line in open('./stopWords.txt',encoding='utf8').readlines()]
|
||||||
|
return stopWords
|
||||||
|
|
||||||
|
def seg_depart(sentence):
|
||||||
|
sentence_depart = jieba.cut(" ".join([x[4] for x in sentence]).strip())
|
||||||
|
stopWords = stopWordList()
|
||||||
|
outStr = ''
|
||||||
|
for word in sentence_depart:
|
||||||
|
if word not in stopWords:
|
||||||
|
if word != '\t':
|
||||||
|
outStr += word
|
||||||
|
return outStr
|
||||||
|
|
||||||
|
def writer_comments_cuts():
|
||||||
|
with open(targetTxt,'a+',encoding='utf-8') as targetFile:
|
||||||
|
seg = jieba.cut(seg_depart(getAllCommentsData()),cut_all=True)
|
||||||
|
output = ' '.join(seg)
|
||||||
|
targetFile.write(output)
|
||||||
|
targetFile.write('\n')
|
||||||
|
print('写入成功')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
writer_comments_cuts()
|
||||||
Reference in New Issue
Block a user