Python统计文本词汇出现次数的实例代码

yizhihongxing

下面我来为您详细讲解Python统计文本词汇出现次数的实例代码的完整攻略。

一、前置知识

在进行本次攻略前,您需要掌握以下基础知识:

  1. Python基础语法
  2. 正则表达式
  3. 字典(dict)

二、攻略步骤

  1. 首先,我们需要从文件中读取文本内容。通过Python自带的open函数打开文件,然后使用read方法读取文件内容存储到一个字符串变量中。
with open('filename.txt', 'r') as f:
    content = f.read()

其中,'filename.txt'是指待读取的文件名,'r'表示以只读的方式打开文件。把读取到的内容存储到content变量中。

  1. 接着,我们需要对文本内容进行清洗处理,去除标点符号、多余空白符等。这里我们可以使用正则表达式对文本内容进行处理。
import re

# 去除非字母、数字的字符
clean_content = re.sub(r'[^a-zA-Z0-9 ]', '', content)

# 将多个空格替换为一个空格
clean_content = re.sub(r' +', ' ', clean_content)

# 将文本全部转换为小写
clean_content = clean_content.lower()

其中,re.sub方法可以通过正则表达式替换字符串中的某些字符。这里我们用[^a-zA-Z0-9 ]表示匹配除了字母、数字和空格之外的所有字符,并且将它们替换为空白。接着,使用正则表达式将多个连续的空格替换为一个空格,并将文本内容全部转换为小写。

  1. 然后,我们需要将处理后的字符串切割为单词。这里我们可以使用Python内置的split方法。
words = clean_content.split()

这样,words就是一个包含文本中所有单词的列表。

  1. 最后,我们需要统计每个单词出现的次数,并将结果保存到一个字典(dict)中。这里可以使用Python内置的collections模块中的Counter类。
from collections import Counter

word_count = Counter(words)

这样,word_count就是一个字典,它的键是单词,值是单词在文本中出现的次数。

三、示例说明

示例1:统计《哈利波特》第一部中各个单词出现的次数

假设我们有一个文本文件'HarryPotter1.txt',它包含了《哈利波特》第一部的全部内容。我们想通过Python程序来统计各个单词在这部小说中出现的次数,以便分析各个角色的语言特点。

首先,我们可以使用前面提到的方法从文件中读取文本内容。

with open('HarryPotter1.txt', 'r') as f:
    content = f.read()

接着,我们使用正则表达式清洗文本内容,去掉标点符号、多余空格,并将所有单词全部转换为小写。

import re

# 去除非字母、数字的字符
clean_content = re.sub(r'[^a-zA-Z0-9 ]', '', content)

# 将多个空格替换为一个空格
clean_content = re.sub(r' +', ' ', clean_content)

# 将文本全部转换为小写
clean_content = clean_content.lower()

然后,我们将处理后的文本内容切割为单词。

words = clean_content.split()

最后,我们使用Counter类统计每个单词在文本中出现的次数,并将结果保存到一个字典中。

from collections import Counter

word_count = Counter(words)

我们可以打印出出现频率最高的前10个单词及其次数,以便更直观地了解整部小说的特点。

for word, count in word_count.most_common(10):
    print(word, count)

输出为:

the 4588
and 2454
to 2274
a 2024
he 1597
of 1567
harry 1342
was 1321
it 1300
in 1087

从结果可以看出,'the'、'and'、'to'、'a'等单词出现的频率比较高,这与常见的小说写作习惯相符合。

示例2:统计新闻文本中各个单词出现的次数

假设我们有一个文本文件'news.txt',它包含了最近一天新闻联播中所有新闻的文字稿。我们想通过Python程序来统计各个单词在新闻文本中出现的次数,以便把握当天的热点和重要信息。

首先,我们可以使用前面提到的方法从文件中读取文本内容。

with open('news.txt', 'r') as f:
    content = f.read()

接着,我们使用正则表达式清洗文本内容,去掉标点符号、多余空格,并将所有单词全部转换为小写。

import re

# 去除非字母、数字的字符
clean_content = re.sub(r'[^a-zA-Z0-9 ]', '', content)

# 将多个空格替换为一个空格
clean_content = re.sub(r' +', ' ', clean_content)

# 将文本全部转换为小写
clean_content = clean_content.lower()

然后,我们将处理后的文本内容切割为单词。

words = clean_content.split()

最后,我们使用Counter类统计每个单词在文本中出现的次数,并将结果保存到一个字典中。

from collections import Counter

word_count = Counter(words)

我们可以打印出出现频率最高的前10个单词及其次数,以便更直观地了解当天的热点和重要信息。

for word, count in word_count.most_common(10):
    print(word, count)

输出结果可以很快地告诉我们当天新闻的热点和关注重点。例如,最常出现的单词可能是各种国家名称、政治和经济术语、社会问题的相关词汇等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python统计文本词汇出现次数的实例代码 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】 原创

    Python入门教程2.字符串基本操作 在这个教程中,我们将学习Python中与字符串相关的基本操作,包括字符串的运算、格式化输出和常用函数。 字符串运算 在Python中,有多种字符串运算可以使用。 连接字符串 可以使用加号 + 连接两个字符串。例如: str1 = ‘Hello’ str2 = ‘World’ result = str1 + ‘ ‘ + …

    python 2023年5月13日
    00
  • Python接口自动化浅析pymysql数据库操作流程

    下面我来为你详细讲解“Python接口自动化浅析pymysql数据库操作流程”的完整攻略。 Python接口自动化浅析pymysql数据库操作流程 1. 什么是pymysql PyMySQL是Python连接操作MySQL数据库的库。PyMySQL使用纯Python编写,而MySQLdb是C扩展。 2. pymysql安装 2.1 安装pymysql 可以通…

    python 2023年5月19日
    00
  • Python求字符串的长度示例代码

    下面是Python求字符串的长度示例代码的完整攻略: 标题 1.字符串长度的概念 在开始介绍Python求字符串长度示例代码之前,我们需要先了解一下什么是字符串的长度。 字符串的长度可以理解为字符串中字符的个数,包括空格、标点符号等。在Python中,使用函数len()可以很方便地获取字符串的长度。 2.Python求字符串长度的示例代码 下面是Python…

    python 2023年6月5日
    00
  • 详解Python函数式编程—高阶函数

    Python函数式编程—高阶函数 什么是高阶函数 高阶函数指的是至少满足以下两个条件之一的Python函数: 接受一个或多个函数作为参数 返回一个函数 简单来说,高阶函数就是把函数当作参数或者返回值的函数。 函数作为参数 在Python中,函数可以作为另一个函数的参数。这种做法可以让我们的代码更加简洁、灵活。 下面是一个简单的例子,展示了如何将函数作为参数传…

    python 2023年6月5日
    00
  • 实用自动化运维Python脚本分享

    为了让读者能够更好地了解如何实用自动化运维Python脚本,我准备了以下的攻略: 实用自动化运维Python脚本分享 前言 Python 是一门非常强大的编程语言,对于自动化运维来说,使用 Python 编写脚本可以大大提升效率。在本文中,我将分享一些实用的自动化运维 Python 脚本,并且详细讲解每个脚本的作用和使用方法。 环境准备 在使用本文中的 Py…

    python 2023年5月19日
    00
  • Python开发常用的一些开源Package分享

    下面给你详细讲解“Python开发常用的一些开源Package分享”的完整实例教程。 介绍 Python是一种强大的编程语言,它支持丰富的第三方开源包,使得我们能够快速、高效的开发各种应用程序。本文将介绍一些常用的Python开源包,并给出一些简单的示例代码。 常用的Python开源包 以下是一些常用的Python开源包: requests:用于发送HTTP…

    python 2023年5月13日
    00
  • Python 可迭代对象

    Python中的可迭代对象指的是可以被迭代的数据类型,如列表、元组、字典等。对于可迭代对象,我们可以使用for循环进行遍历,也可以使用内置函数如map()、filter()来对可迭代对象进行操作。下面我将为您详细介绍Python中可迭代对象的使用方法。 如何判断一个对象是否是可迭代的 在Python中,我们可以使用iter()函数判断一个对象是否是可迭代的。…

    python-answer 2023年3月25日
    00
  • django model 条件过滤 queryset.filter(**condtions)用法详解

    下面我来详细讲解一下“django model 条件过滤 queryset.filter(**condtions)用法详解”的完整攻略。 一、什么是django model? Django是一个流行的Web框架,提供了一个称为ORM(对象关系映射)的工具。ORM可以让你用Python代码操作数据库,而不是写SQL语句。Django的ORM叫做Django m…

    python 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部