欢迎访问宙启技术站
智能推送

使用Python编写的文本处理程序:统计单词出现次数

发布时间:2023-12-04 09:40:26

下面是一个使用Python编写的文本处理程序,用于统计单词出现的次数。以下是一个根据该程序统计单词出现次数的示例:

import re
from collections import Counter

def count_words(text):
    # 将文本转换为小写
    text = text.lower()
    # 使用正则表达式仅保留字母和空格
    text = re.sub(r'[^a-zA-Z\s]', '', text)
    # 拆分文本为单词列表
    words = text.split()
    # 使用collections.Counter类创建一个单词计数器
    word_counter = Counter(words)
    
    return word_counter

# 示例文本
text = "This is a sample text for word count. This text contains a few repeated words, such as sample, text, and count."
# 统计单词出现次数
word_count = count_words(text)

# 打印每个单词及其出现次数
for word, count in word_count.items():
    print(f"{word}: {count}")

# 输出结果:
# this: 1
# is: 1
# a: 2
# sample: 2
# text: 2
# for: 1
# word: 1
# count: 2
# contains: 1
# few: 1
# repeated: 1
# words: 1
# such: 1
# as: 1
# and: 1

以上示例中,count_words函数接受一个文本字符串作为输入,并返回一个包含每个单词及其出现次数的字典。在示例文本中,“this”出现了1次,“is”出现了1次,“a”出现了2次,以此类推。

首先,函数将输入文本转换为小写字母,并使用正则表达式将非字母字符和空格替换为空。然后,函数将文本拆分为单词列表,并使用Counter类创建一个单词计数器。最后,函数返回这个计数器字典。

在示例中,我们将一个文本字符串传递给count_words函数,并将返回的计数器结果存储在word_count变量中。然后,我们使用循环遍历字典中的每个单词和计数,并打印出来。

这样,我们便得到了每个单词在文本中出现的次数。