分享一个基于jieba库的Python 代码,它可以对文本进行分词和词频统计。

代码效果:对文本文档(yangben.txt)分词并统计词频,将出现频率最高的前10个词语及出现次数,显示在屏幕,将出现频率最高的前200个词语,保存在指定文件内(yangben_200.txt)

▼代码注释

import jieba# 导入 jieba库with open('yangben.txt','r',encoding='utf-8') as f:    content = f.read()# 以只读方式打开文件yangben.txt,读取文件中全部内容,保存至变量content中words = jieba.lcut(content)# 使用jieba 库的 lcut() 函数对内容content分词,将分词结果保存在wordsword_counts = {}# 创建空字典word_countsfor word in words:# 遍历words列表    if len(word) > 1:        word_counts[word] = word_counts.get(word,0) + 1# 如果列表元素word的长度大于1,就添加到字典word_counts中,并更新其出现次数。# 过滤掉长度为1的词汇(即排除单个字或者符号)sorted_words = sorted(word_counts.items(),key=lambda x: x[1],reverse=True)# 对字典word_counts中的键值对按值降序排序,并将排序结果保存在列表sorted_words中          
for word,count in sorted_words[:10]: print(word,count)# 遍历列表sorted_words的前10个元素# 将词语和出现次数输出到屏幕上
with open('yangben_200.txt', 'w', encoding='utf-8') as f:# 以utf-8编码创建文件yangben_200.txt,并将其打开
for word, count in sorted_words[:200]: f.write('{} {}n'.format(word, count))# 遍历列表sorted_words的前200个元素,即词频前200项# 将元素word和count按照指定格式写入文件yangben_200.txt中# n表示换行

▼知识点

import 语句:该语句用于导入 Python 中的库或模块,可以使用 import module_name 的方式导入整个模块,也可以使用 from module_name import function_name 的方式导入模块中的具体函数;

分词库 jieba 库:jieba 库是一款用于中文分词的工具库,在代码中使用 jieba.lcut() 函数对字符串进行分词操作,返回一个列表。此外jieba库,还可以使用 jieba.add_word() 来添加新的词汇,或者使用 jieba.load_userdict() 来加载自定义词典;

文件操作:代码中通过 with open(‘filename’, ‘mode’) as f: 语句打开文件并进行读取或写入操作。其中,filename 是文件名,mode 是文件打开模式(’r’ 表示只读,’w’ 表示写入),as f 将打开的文件赋值给变量 f,方便后续对文件进行操作;

字典数据类型:代码中使用字典来保存每个词汇出现的次数,通过遍历列表来对字典进行添加和更新操作,使用 key 来获取字典中的值或者设定默认值;

列表排序:代码中使用 sorted() 函数对词典按照值进行降序排序jieba库,并将结果保存在列表中。sorted() 函数会返回一个新的排好序的列表,原列表顺序不变;

字符串拼接:使用 print(word,count) 将变量 word 和 count 拼接成字符串输出到屏幕上;

格式化字符串:使用 Python 的字符串格式化方法将变量 word 和 count 按照指定格式输出到文件中。具体方法是使用占位符 {} 将变量嵌入到字符串中,然后通过 format() 方法将变量和占位符一一对应;

lambda表达式:使用了一个 lambda 表达式来作为排序函数的 key 参数。lambda 表达式是一种匿名函数,可以方便地写出简短的函数代码,节省了定义函数的时间和空间。该表达式的作用是取键值对中的值作为比较依据进行排序。

切片操作:使用切片操作 [:10] 和 [:200] 来获取列表的前 10 个或前 200 个元素,以限制输出结果的长度。该操作可以用于列表、字符串等类型的数据创业项目,方便进行部分截取或取出指定范围的子串

反斜杠转义:使用反斜杠 ‘n’ 来表示换行符,使得每个词汇及其出现次数都单独占据一行并按照一定的格式排列。

以下是一些常见的转义字符及其含义:

\ 表示反斜杠本身

‘ 表示单引号

” 表示双引号

n 表示换行符

t 表示制表符

r 表示回车符

b 表示退格符

f 表示换页符

▼资源下载

公众号聊天窗口回复 010101 获取

注册会员查看全部内容……

限时特惠本站每日持续更新海量各大内部创业教程,年会员只要98元,全站资源免费下载
点击查看详情
站长微信:9200327

发表回复

后才能评论