Jieba+collections中英文混合语言文章词频统计

Jieba+collections中英文混合语言文章词频统计

前言

前几个星期写了“WordCount-词频统计-英语考级必备-超好用-开源-Python”想着只能统计英文有局限性,就想着把中文的加上。
原文地址:https://blog.csdn.net/CN_ZZH/article/details/132458966

库介绍

Jieba(结巴)

jieba是一个优秀的第三方中文词库,用于中文分词。中文分词指的是将一个汉字序列切分成一个一个单独的词。jieba可以帮助你快速高效地完成中文分词,支持三种分词模式:精确模式、全模式和搜索引擎模式。

collections

collections是Python标准库中的一个模块,提供了一些额外的容器类型,以提供Python标准内建容器dict , list , set , 和tuple的替代选择。这些容器类型包括namedtuple、deque、Counter等。

安装库

可以使用pip安装

pip install jieba

建议使用国内镜像,速度更快。或者你可以挂梯*,懂得都懂(>_O)

推荐几个不错的国内镜像:

  • 阿里云:https://mirrors.aliyun.com/pypi/simple/
  • 豆瓣:https://pypi.douban.com/simple/
  • 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
  • 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

使用方法:

pip install -i [镜像地址] jieba

代码

导入库

首先在文档开头导入要用的库

# !usr/bin/python3
# -*- coding:UTF-8 -*-
import sys
import jieba
from collections import Counter

词频统计函数

把算法写成一个函数,其中参数Objfile是要统计的文件内容。output是是否输出,为0的话就不打印显示了

def wordcount(Objfile,output = 1):
	# 打开并读取文件
	with open(Objfile, 'r', encoding='utf-8') as f:
	    content = f.read()

	# 对文章进行分词处理
	words = jieba.cut(content)

	# 统计每个词的频率
	word_freq = Counter(words)

	# 输出结果
	for word, freq in word_freq.items():
    	print(f'{word}: {freq}')

主函数

然后我们需要一个主函数,在脚本被运行时进行操作,有两种方式,一种时使用命令行参数,另一种是使用UI界面

def main():
	# 没有传入参数,启动UI界面
	if(sys.argc == 1)
		file = input("输入要统计的文件:")
		wordcount(file)
	
	# 正确传入参数
	elif(sys.argc == 2):
		file = sys.argv[1]
		wordcount(file)
	
	# 参数传入错误
	else:
		print("参数传入错误!使用方法:")
		print(f"{sys.argv[0]} [文件位置]")
		file = input("输入要统计的文件:")
		wordcount(file)

源代码

全部的源代码来了

# !usr/bin/python3
# -*- coding:UTF-8 -*-
import sys
import jieba
from collections import Counter

def wordcount(Objfile,output = 1):
	# 打开并读取文件
	with open(Objfile, 'r', encoding='utf-8') as f:
	    content = f.read()

	# 对文章进行分词处理
	words = jieba.cut(content)

	# 统计每个词的频率
	word_freq = Counter(words)

	# 输出结果
	for word, freq in word_freq.items():
    	print(f'{word}: {freq}')
   
  def main():
	# 没有传入参数,启动UI界面
	if(sys.argc == 1)
		file = input("输入要统计的文件:")
		wordcount(file)
	
	# 正确传入参数
	elif(sys.argc == 2):
		file = sys.argv[1]
		wordcount(file)
	
	# 参数传入错误
	else:
		print("参数传入错误!使用方法:")
		print(f"{sys.argv[0]} [文件位置]")
		file = input("输入要统计的文件:")
		wordcount(file) 

谢谢观看!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值