python 文本单词提取和词频统计的实例

这些对文本的操作经常用到, 那我就总结一下。 陆续补充。。。

操作:

strip_html(cls, text) 去除html标签

separate_words(cls, text, min_lenth=3) 文本提取

get_words_frequency(cls, words_list) 获取词频

源码:

class DocProcess(object):

 @classmethod
 def strip_html(cls, text):
  """
   Delete html tags in text.
   text is String
  """
  new_text = " "
  is_html = False
  for character in text:
   if character == "<":
    is_html = True
   elif character == ">":
    is_html = False
    new_text += " "
   elif is_html is False:
    new_text += character
  return new_text

 @classmethod
 def separate_words(cls, text, min_lenth=3):
  """
   Separate text into words in list.
  """
  splitter = re.compile("\\W+")
  return [s.lower() for s in splitter.split(text) if len(s) > min_lenth]

 @classmethod
 def get_words_frequency(cls, words_list):
  """
   Get frequency of words in words_list.
   return a dict.
  """
  num_words = {}
  for word in words_list:
   num_words[word] = num_words.get(word, 0) + 1
  return num_words

以上这篇python 文本单词提取和词频统计的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 布同 统计英文单词的个数的python代码

    word中对于英文单词的统计也很好,大家不妨试试.如果没有安装word,而且你也是程序员的话,那么可以使用我的这段代码.通过测试,word的统计结果是18674,软件的统计结果是18349,相差不到2%,可以作为一个参考. 代码如下: 复制代码 代码如下: # -*- coding: utf-8 -*- import os,sys info = os.getcwd() #获取当前文件名称 fin = open(u'谷歌C++编程代码规范.txt') info = fin.read() alist

  • python实现统计汉字/英文单词数的正则表达式

    思路 •使用正则式 "(?x) (?: [\w-]+ | [\x80-\xff]{3} )"获得utf-8文档中的英文单词和汉字的列表. •使用dictionary来记录每个单词/汉字出现的频率,如果出现过则+1,如果没出现则置1. •将dictionary按照value排序,输出. 源码 复制代码 代码如下: #!/usr/bin/python # -*- coding: utf-8 -*- # #author: rex #blog: http://iregex.org #filen

  • Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】

    本文实例讲述了Python统计纯文本文件中英文单词出现个数的方法.分享给大家供大家参考,具体如下: 第一版: 效率低 # -*- coding:utf-8 -*- #!python3 path = 'test.txt' with open(path,encoding='utf-8',newline='') as f: word = [] words_dict= {} for letter in f.read(): if letter.isalnum(): word.append(letter)

  • python 统计数组中元素出现次数并进行排序的实例

    如下所示: lis = [12,34,456,12,34,66,223,12,5,66,12,23,66,12,66,5,456,12,66,34,5,34] def test1(): #进行去重 c = [] for i in lis: if i not in c: c.append(i) #进行统计,生成二维列表 b = [] for i in c: num = 0 for j in range(len(lis)): if lis[j] == i: num += 1 a = [] a.app

  • Python实现统计英文单词个数及字符串分割代码

    字符串分割 复制代码 代码如下: str="a|and|hello|||ab" alist = str.split('|') print alist 结果 复制代码 代码如下: str="a hello{这里换成5个空格}world{这里换成3个空格}" alist=str.split(' ') print alist 统计英文单词的个数的python代码 复制代码 代码如下: # -*- coding: utf-8 -*- import os,sys info =

  • Python实现统计英文文章词频的方法分析

    本文实例讲述了Python实现统计英文文章词频的方法.分享给大家供大家参考,具体如下: 应用介绍: 统计英文文章词频是很常见的需求,本文利用python实现. 思路分析: 1.把英文文章的每个单词放到列表里,并统计列表长度: 2.遍历列表,对每个单词出现的次数进行统计,并将结果存储在字典中: 3.利用步骤1中获得的列表长度,求出每个单词出现的频率,并将结果存储在频率字典中: 4.以字典键值对的"值"为标准,对字典进行排序,输出结果(也可利用切片输出频率最大或最小的特定几个,因为经过排序

  • Python3实现统计单词表中每个字母出现频率的方法示例

    本文实例讲述了Python3实现统计单词表中每个字母出现频率的方法.分享给大家供大家参考,具体如下: 作为python字典与数组概念的运用,统计字母表中每个字母出现的频率,作为练习再合适不过. 解决问题过程中需要用到的知识点包括:字典的创建.增添元素,数组的创建.增添元素,数组的遍历等 这个问题解决的思路为:首先从文件中按行依次读入单词,去除换行符后添加到数组 new_list 中.依次遍历数组 new_list 的每一个字符串,将每个字符串连同上一次循环中的频率统计结果 old_d (old_

  • python统计字母、空格、数字等字符个数的实例

    如下所示: # -*- coding: utf-8 -*- # 要求:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. def count(s): count_a=count_z=count_o=count_s=0 for i in s: if (ord(i)>=97 and ord(i)<=122) or (ord(i)>=65 and ord(i)<=90): count_a=count_a+1 elif ord(i)>=48 and ord(i)<

  • python实现字符串中字符分类及个数统计

    输入一个字符串,分别统计出其中英文字母.空格.数字和其它字符的个数,本文给出解决方法 编写思路: 1.字符串的遍历,和列表类似,可以把字符串当做元素都是一个字符的一个字符列表,它可以和列表有公共的语法 2.分不同的类别,若有符合条件的字符直接在类别数上加1就可以 初始代码: # -*- coding:utf-8 -*- letter=0 number=0 space=0 symbol=0 print "请输入字符串:" s=raw_input() for char in s: if c

  • python 文本单词提取和词频统计的实例

    这些对文本的操作经常用到, 那我就总结一下. 陆续补充... 操作: strip_html(cls, text) 去除html标签 separate_words(cls, text, min_lenth=3) 文本提取 get_words_frequency(cls, words_list) 获取词频 源码: class DocProcess(object): @classmethod def strip_html(cls, text): """ Delete html ta

  • python 遍历列表提取下标和值的实例

    如下所示: for index,value in enumerate(['apple', 'oppo', 'vivo']): print(index,value) 以上这篇python 遍历列表提取下标和值的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python jieba 中文分词与词频统计的操作

    我就废话不多说了,大家还是直接看代码吧~ #! python3 # -*- coding: utf-8 -*- import os, codecs import jieba from collections import Counter def get_words(txt): seg_list = jieba.cut(txt) c = Counter() for x in seg_list: if len(x)>1 and x != '\r\n': c[x] += 1 print('常用词频度统

  • python中文分词+词频统计的实现步骤

    目录 前言 一.文本导入 二.使用步骤 1.引入库 2.读入数据 3.取出停用词表 4.分词并去停用词(此时可以直接利用python原有的函数进行词频统计) 5. 输出分词并去停用词的有用的词到txt 6.函数调用 7.结果 附:输入一段话,统计每个字母出现的次数 总结 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 本文记录了一下Python在文本处理时的一些过程+代码 一.文本导入 我准备了一个名为abstract.txt的文本文件 接着是在网上下载了stopword

  • 如何利用python实现词频统计功能

    目录 功能要求 方法如下 运行结果 总结 功能要求 这是我们老师的作业 代码中都有注释 要求 词频统计软件: 1)从文本中读入数据:(文件的输入输出) 2)不区分大小写,去除特殊字符. 3) 统计单词 例如:about :10 并统计总共多少单词 4)对单词排序.出现次数 5)输出词频最高的10个单词和次数 6)把统计结果存入文本 方法如下 1.文件的读取,区分大小写,去除特殊字符 import re def getword(): # 读取文件 f=open('read.txt','r',enc

  • Python 详解爬取并统计CSDN全站热榜标题关键词词频流程

    前言 最近在出差,发现住的宾馆居然有小强.所以出差无聊之际,写了点爬虫的代码玩玩,问就是应景.本篇文章主要是爬取CSDN全站综合热榜的100个标题,然后分词提取关键词,统计一下词频. 我想了下,对于其他博主还是有用的,可以看看什么标题可以上热榜,就分享一下吧.顺便把我解决各类问题的方法,说一说. 环境 使用的IDE为:spyder(有看着界面不习惯的,忍一下,不关键) 页面爬取使用chromedriver,至于原因我后面会说. 分词器:jieba 爬取页面地址:https://blog.csdn

  • C语言实现英文文本词频统计

    这几天写了一个基于C语言对文本词频进行统计的程序,开发及调试环境:mac集成开发环境Xcode:测试文本,马丁.路德金的<I have a dream>原文演讲稿. 主要运行步骤: 1. 打开文本把文本内容读入流中并且开辟相应空间放入内存 2 .对文本内容进行处理,去除大写字母(转化为小写),去除特殊字符 3. 基于单链表对词频进行统计 4. 把统计结果进行归并排序 5.打印输出全部词频或者频率最高的10个单词和其出现次数 6.释放所有结点消耗的内存 废话不多说,上代码! // // main

  • python实现简单中文词频统计示例

    本文介绍了python实现简单中文词频统计示例,分享给大家,具体如下: 任务 简单统计一个小说中哪些个汉字出现的频率最高 知识点 1.文件操作 2.字典 3.排序 4.lambda 代码 import codecs import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体 mpl.rcParams['axes.unicode_minus

  • Python英文文章词频统计(14份剑桥真题词频统计)

    Python剑桥真题词频统计 最好还是要学以致用,自主搜集了19年最近的14份剑桥真题之后,通过Python提供的jieba第三方库,对所有的文章信息进行了词频统计,并选择性地剔除了部分简易词汇,比如数字,普通冠词等,博主较懒,未清楚干净. Python代码如下: import jieba # 以只读方式打开text(即真题库) text = open('text.txt', 'r', encoding = 'utf-8').read() # len(text) #统一为小写 text = te

  • Python文本统计功能之西游记用字统计操作示例

    本文实例讲述了Python文本统计功能之西游记用字统计操作.分享给大家供大家参考,具体如下: 一.数据 xyj.txt,<西游记>的文本,2.2MB 致敬吴承恩大师,4020行(段) 二.目标 统计<西游记>中: 1. 共出现了多少个不同的汉字: 2. 每个汉字出现了多少次: 3. 出现得最频繁的汉字有哪些. 三.涉及内容: 1. 读文件: 2. 字典的使用: 3. 字典的排序: 4. 写文件 四.效果 五.源代码 # coding:utf8 import sys reload(s

随机推荐