需求是:针对三篇英文文章进行分析,计算出现次数最多的 10 个单词

逻辑很清晰简单,不算难, 使用 python 读取多个 txt 文件,将文件的内容写入新的 txt 中,然后对新 txt 文件进行词频统计,得到最终结果。

代码如下:(在Windows 10,Python 3.7.4环境下运行通过)

# coding=utf-8

import re

import os

# 获取源文件夹的路径下的所有文件

sourceFileDir = 'D:\\Python\\txt\\'

filenames = os.listdir(sourceFileDir)

# 打开当前目录下的 result.txt 文件,如果没有则创建

# 文件也可以是其他类型的格式,如 result.js

file = open('D:\\Python\\result.txt', 'w')

# 遍历文件

for filename in filenames:

filepath = sourceFileDir+'\\'+filename

# 遍历单个文件,读取行数,写入内容

for line in open(filepath):

file.writelines(line)

file.write('\n')

# 关闭文件

file.close()

# 获取单词函数定义

def getTxt():

txt = open('result.txt').read()

txt = txt.lower()

txt = txt.replace(''', '\'')

# !"@#$%^&*()+,-./:;<=>?@[\\]_`~{|}

for ch in '!"'@#$%^&*()+,-/:;<=>?@[\\]_`~{|}':

txt.replace(ch, ' ')

return txt

# 1.获取单词

hamletTxt = getTxt()

# 2.切割为列表格式,'' 兼容符号错误情况,只保留英文单词

txtArr = re.findall('[a-z\''A-Z]+', hamletTxt)

# 3.去除所有遍历统计

counts = {}

for word in txtArr:

# 去掉一些常见无价值词

forbinArr = ['a.', 'the', 'a', 'i']

if word not in forbinArr:

counts[word] = counts.get(word, 0) + 1

# 4.转换格式,方便打印,将字典转换为列表,次数按从大到小排序

countsList = list(counts.items())

countsList.sort(key=lambda x: x[1], reverse=True)

# 5. 输出结果

for i in range(10):

word, count = countsList[i]

print('{0:<10}{1:>5}'.format(word, count))

效果如下图:

另一种更简单的统计词频的方法:

# coding=utf-8

from collections import Counter

# words 为读取到的结果 list

words = ['a', 'b' ,'a', 'c', 'v', '4', ',', 'w', 'y', 'y', 'u', 'y', 'r', 't', 'w']

wordCounter = Counter(words)

print(wordCounter.most_common(10))

# output: [('y', 3), ('a', 2), ('w', 2), ('b', 1), ('c', 1), ('v', 1), ('4', 1), (',', 1), ('u', 1), ('r', 1)]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

python如何打开txt文件、并算词频_Python 合并多个TXT文件并统计词频的实现相关推荐

  1. python合并两个列表并去重_python合并多个txt文件

    python合并多个txt文件 #合并一个文件夹下的多个txt文件 #coding=utf-8 import os #获取目标文件夹的路径 filedir = os.getcwd()+'\\数据' # ...

  2. 将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件 中

    package again;import java.io.*;/* 1.编写一个程序,将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件 中,a.txt 文件中的单词 ...

  3. python合并两个txt列_Python 合并多个TXT文件并统计词频的实现

    需求是:针对三篇英文文章进行分析,计算出现次数最多的 10 个单词 逻辑很清晰简单,不算难, 使用 python 读取多个 txt 文件,将文件的内容写入新的 txt 中,然后对新 txt 文件进行词 ...

  4. python创建文件对象的函数_Python学习笔记之—— File(文件) 对象常用函数

    file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 1.file.close() close() 方法用于关闭一个已打开的文件.关闭后的文件不能再进行读写操作, 否则会触 ...

  5. python编写代码实现文件的拷贝功能_python利用os模块编写文件复制功能——copy()函数用法...

    我就废话不多说了,大家还是直接看代码吧~ #文件复制 import os src_path=r'E:\Pycharm\python100题\代码' target_path=r'E:\Pycharm\p ...

  6. python合并excel文件关键字_python合并多个excel文件的示例

    工作中经常遇到要将十几个Excel(不管是xls.或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通 ...

  7. python从csv读取数据到网页输入框_python中怎么把csv文件读取的数据显示在网页上...

    python的标准库csv库主要是面向本地文件,就是说你的CSV文件得存储在你的电脑上.当进行网络数据采集的时候,很多文件都是在线的.不过有一些办法可以解决这个问题: 1,手动把CSV文件下载到本机, ...

  8. python合并多个excel的某些字段_python合并多个excel文件的示例

    工作中经常遇到要将十几个Excel(不管是xls.或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通 ...

  9. JAVA 多种文件转pdf,进行合并,统一pdf文件页面样式

    JAVA 将word.execl.ptt.txt.图片等文件转为pdf文件.合并为一个pdf文件,并统一pdf文件页面样式 准备 1.jar包 2.对应的dll文件放到jdk或jre的bin目录下: ...

最新文章

  1. 项目管理(一)计时计件
  2. 非平衡电桥电阻计算_什么是RTD热电阻?两线制和三线制RTD有什么不同?
  3. JBoss Eclipse IDE
  4. linux 命令行 java_在Linux上讲Java命令行的作为服务运行
  5. 考研961数据结构c语言版真题,严蔚敏数据结构C语言版考研真题库
  6. Linux下安装jdk8步骤详述
  7. python3异常_python3 异常处理
  8. Linq GroupJoin 使用
  9. 一步一步写算法(之排序二叉树的保存和加载)
  10. 计算机中职课程表,计算机专业课程表
  11. 【学习笔记】Java工程师成神之路-基础篇
  12. bootstrap制作一个优美的导航栏
  13. 今天在XP下装SQL2000个人版MB用了两个钟
  14. centos7 查看本地ip地址
  15. Postgresql中xlog生成和清理逻辑
  16. Android wms粗略介绍
  17. 使用idea将dev分支合并到master分支
  18. 数据库原理 ODBC概述
  19. 使用Imatest测试图像的动态范围(Dynamic Range)
  20. Fighting!Hack for wuhan 黑客马拉松等你来战

热门文章

  1. Win10 WSL adb使用
  2. Clojure 学习入门(12)- map/pmap
  3. SpringBoot之kafka对接topic
  4. SpringBoot之idea打包以及启动jar包
  5. Win10使用Xrdp脚本远程桌面连接Ubuntu主机
  6. mpacc和计算机硕士,考MPAcc还是工作?读研三年VS工作三年对比!
  7. ef core mysql 生成迁移失败_EF Core 数据库迁移(Migration)
  8. xml格式校验工具_logback 日志输出格式
  9. python文件hadoop_采用Python来访问Hadoop HSFS存储实现文件的操作
  10. mac git配置 idea