使用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_67429464几秒前
怎么为MongoDB事务调优:将读操作尽量移到事务外面执行
jvm·数据库·python
吕源林1 分钟前
React Native 中 Button 组件未定义的解决方案
jvm·数据库·python
techdashen2 分钟前
Rust 正式成立 Types Team:类型系统终于有了专属团队
开发语言·后端·rust
m0_743623922 分钟前
TensorFlow如何实现循环神经网络_使用LSTM或GRU层处理时间序列
jvm·数据库·python
2401_871696523 分钟前
HTML怎么配合JavaScript交互_HTML DOM操作入门【指南】
jvm·数据库·python
jiayong235 分钟前
第 17 课:任务选择与批量操作
开发语言·前端·javascript·vue.js·学习
weixin_408717776 分钟前
HTML图片怎么用Bitbucket Pipelines发布_Bitbucket自动构建HTML站点
jvm·数据库·python
m0_747854528 分钟前
企业级SQL注入防护手段_使用专用的数据库安全网关
jvm·数据库·python
weixin_4249993610 分钟前
Golang reflect反射怎么用_Golang反射教程【通俗】
jvm·数据库·python
2301_8152795212 分钟前
mysql如何配置慢查询日志记录_开启long_query_time并分析
jvm·数据库·python