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

Python编写的文件处理案例:统计文本文件中的单词出现次数

发布时间:2023-12-04 19:29:29

下面是一个使用Python编写的统计文本文件中单词出现次数的案例。这个案例将演示如何读取文本文件、处理文本数据并统计每个单词出现的次数。

def count_words(filename):
    word_count = {}
    with open(filename, 'r') as file:
        for line in file:
            # 去除行末尾的换行符并将字符串拆分成单词列表
            words = line.rstrip().split()
            for word in words:
                # 去除单词中的标点符号和特殊字符
                word = word.strip('.,!?"\'').lower()
                if word in word_count:
                    # 如果单词已经在字典中,计数加1
                    word_count[word] += 1
                else:
                    # 如果单词不在字典中,添加到字典并计数为1
                    word_count[word] = 1
    return word_count

# 输入文本文件的路径
filename = 'example.txt'

# 调用函数统计单词出现次数
result = count_words(filename)

# 输出单词及其出现次数
for word, count in result.items():
    print(f'{word}: {count}')

上述案例中定义了一个count_words函数用于统计单词出现次数,它接受一个文本文件的路径作为参数。在函数中,首先创建了一个空字典word_count用于存储单词及其出现次数。

通过使用Python内置的open函数打开文本文件,并通过'r'参数指示以只读模式打开文件。然后,可以使用with语句来自动关闭文件。

接着,逐行遍历文件内容,并使用rstrip方法去除行末尾的换行符。使用split方法将行分割为单词列表。

遍历单词列表,使用strip方法去除单词中的标点符号和特殊字符,并将单词转换为小写。然后,使用字典的get方法查找单词是否已经在字典中。如果已经在字典中,计数加1;如果不在字典中,将其添加到字典并计数为1。

最后,函数返回统计结果的字典。

在主程序中,指定文本文件的路径,并调用count_words函数来统计单词出现次数。统计结果存储在一个字典中,然后使用items方法遍历字典并打印每个单词及其出现次数。

请注意,上述案例中假设了一些文本处理的规则,例如使用空白字符分割单词、忽略标点符号和大小写等。根据具体需求,这些规则可以根据实际情况进行修改和扩展。