1.准备utf-8编码的文本文件file
2.通过文件读取字符串 str
3.对文本进行预处理
4.分解提取单词 list
5.单词计数字典 set , dict
6.按词频排序 list.sort(key=)
7.排除语法型词汇,代词、冠词、连词等无语义词
8.输出TOP(20)
代码:
#读取fire文本文件 f = open(‘fire.txt‘,‘r‘,encoding=‘utf-8‘) fire = f.read() f.close() print(fire) #预处理 print(fire.lower()) #全部字母小写 a = ",.;:‘`" #特殊符号归集为字符串 for b in a: fire.replace(b,‘ ‘) #利用for循环语句把特殊符号替换成空格 print(fire) #分别从空格提取单词 firelist = fire.split() print(firelist) #统计每个单词出现的次数 fireset = set(firelist) #把列表firelist转换成集合,使得单词不会重复出现 #排除语法型词汇,代词、冠词、连词等无语义词 se = {‘a‘,‘the‘,‘and‘,‘we‘,‘you‘,‘of‘} fireset =fireset-se firedict = {} #创建一个空字典,用于存储 # #遍历fireset集合,放入单词为键,统计的次数为值的strdict字典 for word in fireset: firedict[word] = firelist.count(word) print(len(firedict),firedict) wordlist = list(firedict.items()) #按单词的频数排序 wordlist.sort(key=lambda x:x[1],reverse=True) print(wordlist) #输出TOP(20) for i in range(20): print(wordlist[i])
运行结果:
原文地址:https://www.cnblogs.com/123-feng/p/9712343.html
时间: 2024-10-24 13:01:09