使用Python统计txt文件中的词频

python 复制代码
# 统计词频
import jieba
jieba.load_userdict(r'\百度分词词库.txt') #载入用户自定义词典,使分词结果更准确
stops_word_path = r'\stopwords_all.txt' #载入停用词表,此处使用的是哈工大停用词表
stopwords = pd.read_table(stops_word_path,encoding='utf-8',quoting=3)['words'].tolist()
stopwords.append('\n') #在停用词中加入换行符和空格,也可以自定义其他不需要统计词频的词语
stopwords.append(' ')
# stopwords
dic = dict()
file_path = r'C:\Users\Shy0418\Desktop\text.txt' #定义要统计的txt文件路径
with open(file_path, encoding='utf-8', mode='r+') as file_read:
    lines = file_read.readlines()
    for line in lines:
        # print(list(jieba.cut(line)))
        for word in list(jieba.cut(line)):
            if word not in stopwords:
                if word in dic.keys():
                    dic[word] += 1
                else:
                    dic[word] = 1
            else:
                continue
dic
word_freq = sorted(dic.items(), key = lambda kv:(kv[1], kv[0]), reverse=True) #按词频降序排列
word_freq #结果以词典的形式展示:{词语:词频}
相关推荐
m0_726965983 分钟前
面面面,面面(1)
java·开发语言
2401_8319207427 分钟前
分布式系统安全通信
开发语言·c++·算法
~无忧花开~34 分钟前
React状态管理完全指南
开发语言·前端·javascript·react.js·前端框架
李昊哲小课1 小时前
第1章-PySide6 基础认知与环境配置
python·pyqt·pyside
阿贵---1 小时前
C++中的RAII技术深入
开发语言·c++·算法
Traced back2 小时前
怎么用 Modbus 让两个设备互相通信**,包含硬件接线、协议原理、读写步骤,以及 C# 实操示例。
开发语言·c#
2401_894241922 小时前
用Pygame开发你的第一个小游戏
jvm·数据库·python
Zzzz_my3 小时前
正则表达式(RE)
pytorch·python·正则表达式
娇娇yyyyyy3 小时前
QT编程(17): Qt 实现自定义列表模型
开发语言·qt