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日

相关文章

  • 解决python3中的requests解析中文页面出现乱码问题

    以下是关于解决Python3中requests解析中文页面出现乱码问题的攻略: 解决Python3中requests解析中文页面出现乱码问题 在Python3中,使用requests库解析中文页面时,有时会出现乱码问题。以下是解决Python3中requests解析中文页面出现乱码问题的攻略。 使用response.content.decode(‘utf-8…

    python 2023年5月14日
    00
  • 详解python的网络编程基础

    详解Python的网络编程基础 网络编程是指编写程序让计算机之间进行通信。Python作为一种广泛使用的编程语言,在网络编程方面也提供了丰富的支持。本文将介绍Python的网络编程基础,包括网络通信协议、Socket编程以及示例程序。 网络通信协议 在网络编程中,不同的计算机需要采用相同的协议才能进行通信。常见的网络协议包括TCP/IP、HTTP、SMTP等…

    python 2023年5月19日
    00
  • Python用Pillow(PIL)进行简单的图像操作方法

    下面是详细的Python用Pillow(PIL)进行简单的图像操作方法攻略。 1. 安装Pillow 要使用Pillow进行图像操作,我们首先需要安装Pillow。通常可以通过pip命令来安装: pip install Pillow 2. 打开和保存图像 Pillow提供了非常方便的打开和保存图像功能,可以用一行代码就完成。下面是一个例子: from PIL…

    python 2023年5月14日
    00
  • 使用 Python 读取电子表格中的数据实例详解

    下面我会详细讲解使用Python读取电子表格中的数据实例详解,包括完整的实例教程和两条示例说明。 一、准备工作 在开始之前,我们需要安装以下工具和库: Python3 pandas库 xlrd库 安装完毕之后,就可以开始使用Python读取电子表格中的数据了。 二、读取Excel文件 假设我们有一个名为data.xlsx的Excel文件,其中存储了学生的成绩…

    python 2023年5月13日
    00
  • Python3中小括号()、中括号[]、花括号{}的区别详解

    下面是“Python3中小括号()、中括号[]、花括号{}的区别详解”的攻略: 小括号() 小括号在Python中通常用于表明函数的调用。在函数调用时,所有传递给函数的实参都应该用小括号括起来。比如: print(‘Hello World’) 在这个例子中,print()是Python的一个内置函数,它用来在标准输出中打印一些内容。’Hello World’…

    python 2023年5月14日
    00
  • Python实现二叉树的常见遍历操作总结【7种方法】

    下面是详细讲解“Python实现二叉树的常见遍历操作总结【7种方法】”的完整攻略。 1. 什么是二叉树 二叉树是一种树形结构,每个节点最多有两个子节点。二叉树的遍历是指按照一定的顺序访问二叉树中的所有节点。 2. 二叉树的遍历方法 以下是二叉树的七种遍历方法,包括前序遍历、中序遍历、后序遍历、层次遍历、Morris遍历、递归遍历和迭代遍历。 2.1 前序遍历…

    python 2023年5月14日
    00
  • Hadoop中的Python框架的使用指南

    Hadoop中的Python框架的使用指南 Hadoop是一个用于处理大数据的分布式计算框架,Python是一门功能强大的编程语言。通过Hadoop中的Python框架,我们可以使用Python编写MapReduce任务,并在分布式环境中运行。本文将介绍Hadoop中的Python框架的使用指南。 安装Hadoop和Python框架 首先,需要在本地或远程服…

    python 2023年5月14日
    00
  • Python中利用sqrt()方法进行平方根计算的教程

    当我们需要在Python代码中计算一个数字的平方根时,可以使用Python标准库中的math模块中的sqrt()方法。下面是利用sqrt()方法进行平方根计算的教程: 1. 导入math模块 在Python中,我们使用import关键字来导入一个模块,所以首先需要导入math模块,方法如下: import math 2. 使用sqrt()方法进行平方根计算 …

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