python开发_re和counter

pythonrecounter的结合,可以实现以下的功能:

1.获取字符串或者文件中的单词组

2.对单词组进行统计

下面是我做的demo

运行效果:

=============================================

代码部分:

=============================================

 1 #python re and counter object
 2 '''
 3 读取一个文件,获取到该文件中的所有单词组,然后对该单词组进行个数统计,也可以根据
 4 条件统计,如:该单词组中出现最多的前number个单词
 5 '''
 6 import os
 7 import re
 8 from collections import Counter
 9 
10 def get_words(path):
11     '''读取一个文件中的内容,返回该文件中的所有单词'''
12     if os.path.exists(path):
13         return re.findall(r'\w+', open(path).read().lower())
14     else:
15         print('the path [{}] is not exist!'.format(path))
16 
17 def get_most_common_words(words, number):
18     '''
19     如果<code>number > 0</code>,则返回该单词组中出现最多的前<code>number</code>个单词
20     否则,返回该单词组中所有统计情况
21     '''
22     if number > 0:
23         return Counter(words).most_common(number)
24     else:
25         return Counter(words)
26     
27 def main():
28     temp_path = 'c:\\temp.txt'
29     number = 5
30     words = get_words(temp_path)
31     print(words)
32     print('#' * 50)
33     cnt = get_most_common_words(words, -1)
34     print(cnt)
35     print('#' * 50)
36     cnt = get_most_common_words(words, number)
37     print(cnt)
38 
39 if __name__ == '__main__':
40     main()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个爱吃西瓜的程序员

Web前端基础【3】--JavaScript基础

JavaScript是一种轻量级的客户端脚本语言,和Python语言是一样的,只不过JavaScript是由浏览器进行解释执行的。JavaScript可以插在H...

3614
来自专栏有趣的Python和你

Python数据分析之groupby语法糖对分组进行迭代语法糖一:选取一个或多个列

1294
来自专栏linux系统运维

正则介绍以及grep

1223
来自专栏申龙斌的程序人生

零基础学编程007:FOR循环

在上篇文章《赋值语句》之后,已经可以输出这个枯燥的《复利数据表》的任意一行数据了,例如用这两条语句: i = 100 print( "(1+0.01) ^", ...

3037
来自专栏源哥的专栏

在DWR中实现直接获取一个JAVA类的返回值

    DWR是Ajax的一个开源框架,可以很方便是实现调用远程Java类。但是,DWR只能采用回调函数的方法,在回调函数中获取返回值,然后进行处理。那么,到底...

612
来自专栏java一日一条

java中“==”和equal区别

8个月以后就要正式找工作啦,我觉得现在是时候花时间好好深入研究一下以前比较混肴的知识。这就当作是自我成长的第一步!

631
来自专栏

c++ 之bind使用

网络编程中, 经常要使用到回调函数。 当底层的网络框架有数据过来时,往往通过回调函数来通知业务层。 这样可以使网络层只专注于 数据的收发, 而不必关心业务 在c...

3223
来自专栏和蔼的张星的图像处理专栏

547. 两数组的交

样例 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].要求去重,这样还是稍微有点难度。

872
来自专栏编程

Python的解码和编码

使用Python语言做网络爬虫或者写自动化脚本时,总会遇到“中文乱码”的问题,很是头疼。很多“中文乱码”的问题是跟Python的解码/编码有关,所以今天和大家说...

25910
来自专栏coding for love

JS入门难点解析5-变量对象

(注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)

1104

扫码关注云+社区

领取腾讯云代金券