python统计一篇文章汉字中的高频词

先处理文章,去掉空格,标点符号,及非汉字内容。

程序一:

复制代码
import re
import os
from collections import Counter


path = r"D:\stzf"
os.chdir(path)  # 修改工作路径

# 读取Word文档内容
with open('abc.txt', 'r', encoding='utf-8') as file:
    content = file.read()

# 提取所有汉字
pattern = re.compile('[\u4e00-\u9fff]+')  # 匹配所有汉字
chinese_words = pattern.findall(content)

# for i in chinese_words:
#     print(i)
#
# print('==========================================')

# 统计单个汉字的出现次数
char_counter = Counter(''.join(chinese_words))

# 统计词组的出现次数,可根据需要设定词组长度
word_counter = Counter(chinese_words)

# 输出高频出现的单个汉字
print('高频出现的单个汉字:')
for char, count in char_counter.most_common(10):  # 输出出现次数最频繁的前10个汉字
    print(char, count)

# 输出高频出现的词组
print('高频出现的词组:')
for word, count in word_counter.most_common(10):  # 输出出现次数最频繁的前10个词组
    if len(word) > 1:
        print(word, count)

程序二,使用jieba分词。

先安装jieba分词,pip install jieba --upgrade

复制代码
import os
import jieba
from collections import Counter

path = r"D:\stzf"
os.chdir(path)  # 修改工作路径
with open('ABC.txt', 'rb') as file:
    content = file.read()
# 分词并记录所有汉字
seg_list = jieba.cut(content)
chinese_words = []
for word in seg_list:
    for char in word:
        if '\u4e00' <= char <= '\u9fff':
            chinese_words.append(char)
# 统计单个汉字的出现次数
char_counter = Counter(chinese_words)
# 统计词组的出现次数,根据需要设定词组长度
word_counter = Counter([''.join(chinese_words[i:i+2]) for i in range(len(chinese_words)-1)])
# 输出高频出现的单个汉字
print('高频出现的单个汉字:')
for char, count in char_counter.most_common(200):
    print(char, count)
# 输出高频出现的词组
print('高频出现的词组:')
for word, count in word_counter.most_common(200):
    print(word, count)
相关推荐
哆啦A梦的口袋呀4 分钟前
基于Python学习《Head First设计模式》第六章 命令模式
python·学习·设计模式
努力搬砖的咸鱼6 分钟前
从零开始搭建 Pytest 测试框架(Python 3.8 + PyCharm 版)
python·pycharm·pytest
Calvex9 分钟前
PyCharm集成Conda环境
python·pycharm·conda
一千柯橘20 分钟前
python 项目搭建(类比 node 来学习)
python
sduwcgg25 分钟前
python的numpy的MKL加速
开发语言·python·numpy
大模型真好玩27 分钟前
可视化神器WandB,大模型训练的必备工具!
人工智能·python·mcp
东方佑28 分钟前
使用 Python 自动化 Word 文档样式复制与内容生成
python·自动化·word
钢铁男儿34 分钟前
Python 接口:从协议到抽象基 类(定义并使用一个抽象基类)
开发语言·python
databook42 分钟前
当机器学习遇见压缩感知:用少量数据重建完整世界
python·机器学习·scikit-learn
暴力求解1 小时前
C++类和对象(上)
开发语言·c++·算法