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

下面我来为您详细讲解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实现数据库中数据的批量删除?

    以下是使用Python实现数据库中数据的批量删除的完整攻略。 数据库中数据的批量删除简介 在数据库中,批量删除是一次性删除多条记录。在Python中,可以使用pymysql连接MySQL数据库,并使用DELETE语句实现批量删除。 步骤1:连接数据库 在Python中,可以使用pymysql连接MySQL数据库。以下是连接到MySQL的基本语法: impor…

    python 2023年5月12日
    00
  • 一文教会你用Python实现pdf转word

    一文教会你用Python实现pdf转word 最近,有很多人在学习Python这门语言,使用Python可以实现很多有趣的功能,其中一项就是pdf转word。对于需要频繁将pdf转换为word文档的工作者,这是一个非常有用的功能。在本文中,我将教大家如何使用Python实现pdf转word的功能。 第一步:安装必要的库 要使用Python实现pdf转word…

    python 2023年6月5日
    00
  • Django中的forms组件实例详解

    Django中的forms组件实例详解 在Django中,forms组件是用于处理表单数据的工具。本文将详细讲解Django中的forms组件,包括forms组件的概念、forms组件的使用方法、forms组件的验证等内容。 forms组件的概念 在Django中,forms组件是用于处理表单数据的工具。它可以帮助我们创建表单、验证表单数据、处理表单数据等操…

    python 2023年5月15日
    00
  • Python命令行参数argv和argparse该如何使用

    下面就来详细讲解一下“Python命令行参数argv和argparse该如何使用”的完整攻略。 Python命令行参数argv 在Python中,使用argv可以接受在命令行中传入的参数,这些参数可以在运行程序时动态的传入,与程序代码分离,从而方便程序的调用和使用。 在Python中,我们可以通过sys模块的argv方法来获取命令行传入的参数,如下所示: i…

    python 2023年6月3日
    00
  • Django之创建引擎索引报错及解决详解

    下面就为大家详细讲解” Django之创建引擎索引报错及解决详解 “的完整攻略。 问题概述 在Django项目中,当我们使用Django内置的search引擎来创建索引时,可能会遇到以下报错提示: django.core.exceptions.ImproperlyConfigured: Error loading interface c:…\solr\b…

    python 2023年5月13日
    00
  • Python内存泄漏和内存溢出的解决方案

    以下是“Python内存泄漏和内存溢出的解决方案”的完整攻略,其中包括了内存泄漏和内存溢出的定义、解决方案、示例以及常见问题解决方法。 Python内存泄漏和内存溢出的解决方案 内存泄漏和内存溢出的定义 内存泄漏和内存溢出是两个常见的内存问题。内存泄漏指的是程序中存在一些不再使用的内存,但这些内存没有被释放,导致内存占用不断增加内存溢出指的是程序中使用的内存…

    python 2023年5月13日
    00
  • pandas中的ExcelWriter和ExcelFile的实现方法

    下面是详细的讲解和示例: 什么是ExcelWriter和ExcelFile? 在使用pandas库操作Excel文件时,我们通常会用到ExcelWriter和ExcelFile这两个类来操作Excel文件。 ExcelWriter类是一个非常常用的类,它提供了一种将多个DataFrame写入单个Excel文件的方法。通过ExcelWriter类,我们可以将不…

    python 2023年5月13日
    00
  • Python中调用其他程序的方式详解

    Python中调用其他程序的方式详解 在Python中,我们经常需要调用其他的程序来实现特定的功能或者完成某些任务。通常遇到这种情况,我们可以使用os模块和subprocess模块提供的相关函数来实现对其他程序的调用操作。 使用os模块进行调用 os模块可以用来调用其他进程或者在当前进程中使用shell命令。使用os.system()函数可以简单地执行命令,…

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