Python 合并多个TXT文件并统计词频的实现

下面是Python合并多个TXT文件并统计词频的实现攻略,包含以下6个步骤:

  1. 打开每个文件,并把它们合并为一个文本。

  2. 把整个文本分成单词。

  3. 统计每个单词的数量。

  4. 按照单词数量排序。

  5. 输出排序后的结果。

  6. 整合成完整代码。

1. 打开每个文件,并把它们合并为一个文本

我们可以通过osglob模块来找到我们要合并的文件,并打开它们。

import os
import glob

path = 'files/*.txt'
files = glob.glob(path)

content = ''
for file in files:
    with open(file, 'r', encoding='utf-8') as f:
        content += f.read()

2. 把整个文本分成单词

我们使用re模块来把文章分成单词。

import re

words = re.findall(r'\b\w+\b', content.lower())

我们使用lower()方法来把所有单词变成小写,以便于统计单词数量。

3. 统计每个单词的数量

我们可以使用Python的Counter模块来统计每个单词的数量。

from collections import Counter

word_counts = Counter(words)

Counter模块将一个列表转化为一个字典,包含了每个元素的数量。

4. 按照单词数量排序

使用sorted()函数来对单词数量进行排序。

word_counts_sorted = sorted(word_counts.items(), key=lambda kv: kv[1], reverse=True)

我们使用items()方法来获取每个单词的数量,然后使用key参数来告诉sorted()函数按照数量排序,reverse=True表示按降序排列。

5. 输出排序后的结果

最后,我们可以输出排序后的结果。

for word, count in word_counts_sorted:
    print(f'{word}: {count}')

这个循环将输出每个单词和它出现的次数。

示例1:现在,我们假设有两个文件file1.txtfile2.txtfile1.txt包含以下内容:

Hello, world! How are you today?

file2.txt包含以下内容:

I am doing well, thank you. How about you?

当我们运行上面的代码并把这两个文件作为输入时,我们会看到如下输出结果:

how: 2
you: 2
am: 1
are: 1
about: 1
doing: 1
hello: 1
i: 1
today: 1
well: 1
world: 1
thank: 1

可以看到代码成功统计了每个单词在这两个文件中出现的次数,并按照出现次数从高到低排列,输出了结果。

示例2:现在,我们假设有三个文件file1.txtfile2.txtfile3.txt分别包含以下内容:

file1.txt: The quick brown fox jumped over the lazy dog.
file2.txt: How much wood would a woodchuck chuck, if a woodchuck could chuck wood?
file3.txt: I am the walrus, coo coo cachoo.

当我们运行上面的代码并把这三个文件作为输入时,我们会看到如下输出结果:

the: 2
wood: 2
chuck: 2
a: 2
quick: 1
brown: 1
fox: 1
jumped: 1
over: 1
lazy: 1
dog: 1
how: 1
much: 1
would: 1
woodchuck: 1
if: 1
could: 1
i: 1
am: 1
walrus: 1
coo: 1
cachoo: 1

可以看到,代码成功地统计了每个单词在这三个文件中出现的次数,并按照出现次数从高到低排列,输出了结果。

6. 整合成完整代码

将上述代码整合起来:

import os
import glob
import re
from collections import Counter

path = 'files/*.txt'
files = glob.glob(path)

content = ''
for file in files:
    with open(file, 'r', encoding='utf-8') as f:
        content += f.read()

words = re.findall(r'\b\w+\b', content.lower())

word_counts = Counter(words)

word_counts_sorted = sorted(word_counts.items(), key=lambda kv: kv[1], reverse=True)

for word, count in word_counts_sorted:
    print(f'{word}: {count}')

以上就是Python合并多个TX文件并统计词频的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 合并多个TXT文件并统计词频的实现 - Python技术站

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

相关文章

  • Python实现学生管理系统并生成exe可执行文件详解流程

    下面是“Python实现学生管理系统并生成exe可执行文件详解流程”的完整攻略。 一、前置条件 在进行学生管理系统的开发之前,需要确保我们的电脑上已经安装好Python环境。如果没有安装Python环境,可以去Python官网(https://www.python.org/downloads/)下载并安装。同时,需要安装第三方库PyQt5和pyinstall…

    python 2023年5月30日
    00
  • Python random模块的使用示例

    Python random模块的使用示例 Python中的random模块用于生成随机数,包括整数、浮点数和随机序列。接下来介绍random模块的常见使用示例。 1. 生成随机整数 要生成指定范围内的随机整数,可以使用random.randint()函数。该函数接受两个参数,分别代表随机整数的范围。下面的代码示例生成一个1~100之间的随机整数: impor…

    python 2023年6月3日
    00
  • 利用PyTorch实现爬山算法

    利用PyTorch实现爬山算法 爬山算法(Hill Climbing)是一种基于局部搜索的优化算法,它的主要思想是从当前解的邻域中选择一个更优的解作为下一次搜索的起点,直到找到最优解或达到最大迭代次数。本文将详细讲解如何使用PyTorch实现爬山算法,并提供两个示例说明。 爬山算法原理 爬山算法的基本思想是从当前解的邻域中选择一个更优的解作为下一次搜索的起点…

    python 2023年5月14日
    00
  • 在Python中声明私有变量[重复]

    【问题标题】:Declaring private variable in Python [duplicate]在Python中声明私有变量[重复] 【发布时间】:2023-04-02 12:45:01 【问题描述】: 我正在Python 中编写一个银行应用程序,并从这里Banking Application 读取一些源代码。 balance 类定义如下: c…

    Python开发 2023年4月8日
    00
  • 详解Python中的测试工具

    下面是详解Python中的测试工具的完整攻略。 1. 什么是测试工具 测试工具指的是用于测试和验证代码功能正确性的工具,通常包括测试框架、断言库、Mock库等。 在Python中,常用的测试工具包括unittest(Python自带)、pytest、doctest等。 2. unittest unittest是Python自带的测试框架,可以用于编写单元测试…

    python 2023年6月3日
    00
  • Python进程,多进程,获取进程id,给子进程传递参数操作示例

    下面是详细的Python进程、多进程相关操作攻略。 Python进程 首先我们需要了解什么是进程。进程是指正在运行的程序,让电脑处理我们所需要的任务。在Python中,我们可以使用 os 模块来进行进程相关操作。 获取进程ID 要获取当前进程的ID,可以使用 os 模块的 getpid() 函数. 下面是一个示例程序: import os print(&qu…

    python 2023年6月5日
    00
  • Python使用Beautiful Soup包编写爬虫时的一些关键点

    在本攻略中,我们将介绍如何使用Python的BeautifulSoup包编写爬虫时的一些关键点。BeautifulSoup是一个Python库,用于从HTML和XML文件中提取数据。它提供了一种简单的方式来遍历HTML和XML文档,查找和提取数据。 以下是一个完整攻略包括两个示例。 步骤1:安装BeautifulSoup 首先,需要安装BeautifulSo…

    python 2023年5月15日
    00
  • python基础–除法(/,//,%)的应用说明

    下面是Python基础中除法(/,//,%)的应用说明的完整攻略: 一、除法(/) 除法(/)是Python中的一种基本运算,在数学中,除法是指将被除数除以除数,得到商和余数的运算。在Python中,除法的结果是一个浮点数,无论是两个整数相除,还是两个浮点数相除,都会返回一个浮点数结果。 示例说明: a = 10 b = 3 print(a / b) 输出结…

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