python如何打开txt文件、并算词频_Python 合并多个TXT文件并统计词频的实现
需求是:针对三篇英文文章进行分析,计算出现次数最多的 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文件并统计词频的实现相关推荐
- python合并两个列表并去重_python合并多个txt文件
python合并多个txt文件 #合并一个文件夹下的多个txt文件 #coding=utf-8 import os #获取目标文件夹的路径 filedir = os.getcwd()+'\\数据' # ...
- 将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件 中
package again;import java.io.*;/* 1.编写一个程序,将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件 中,a.txt 文件中的单词 ...
- python合并两个txt列_Python 合并多个TXT文件并统计词频的实现
需求是:针对三篇英文文章进行分析,计算出现次数最多的 10 个单词 逻辑很清晰简单,不算难, 使用 python 读取多个 txt 文件,将文件的内容写入新的 txt 中,然后对新 txt 文件进行词 ...
- python创建文件对象的函数_Python学习笔记之—— File(文件) 对象常用函数
file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 1.file.close() close() 方法用于关闭一个已打开的文件.关闭后的文件不能再进行读写操作, 否则会触 ...
- python编写代码实现文件的拷贝功能_python利用os模块编写文件复制功能——copy()函数用法...
我就废话不多说了,大家还是直接看代码吧~ #文件复制 import os src_path=r'E:\Pycharm\python100题\代码' target_path=r'E:\Pycharm\p ...
- python合并excel文件关键字_python合并多个excel文件的示例
工作中经常遇到要将十几个Excel(不管是xls.或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通 ...
- python从csv读取数据到网页输入框_python中怎么把csv文件读取的数据显示在网页上...
python的标准库csv库主要是面向本地文件,就是说你的CSV文件得存储在你的电脑上.当进行网络数据采集的时候,很多文件都是在线的.不过有一些办法可以解决这个问题: 1,手动把CSV文件下载到本机, ...
- python合并多个excel的某些字段_python合并多个excel文件的示例
工作中经常遇到要将十几个Excel(不管是xls.或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通 ...
- JAVA 多种文件转pdf,进行合并,统一pdf文件页面样式
JAVA 将word.execl.ptt.txt.图片等文件转为pdf文件.合并为一个pdf文件,并统一pdf文件页面样式 准备 1.jar包 2.对应的dll文件放到jdk或jre的bin目录下: ...
最新文章
- 项目管理(一)计时计件
- 非平衡电桥电阻计算_什么是RTD热电阻?两线制和三线制RTD有什么不同?
- JBoss Eclipse IDE
- linux 命令行 java_在Linux上讲Java命令行的作为服务运行
- 考研961数据结构c语言版真题,严蔚敏数据结构C语言版考研真题库
- Linux下安装jdk8步骤详述
- python3异常_python3 异常处理
- Linq GroupJoin 使用
- 一步一步写算法(之排序二叉树的保存和加载)
- 计算机中职课程表,计算机专业课程表
- 【学习笔记】Java工程师成神之路-基础篇
- bootstrap制作一个优美的导航栏
- 今天在XP下装SQL2000个人版MB用了两个钟
- centos7 查看本地ip地址
- Postgresql中xlog生成和清理逻辑
- Android wms粗略介绍
- 使用idea将dev分支合并到master分支
- 数据库原理 ODBC概述
- 使用Imatest测试图像的动态范围(Dynamic Range)
- Fighting!Hack for wuhan 黑客马拉松等你来战
热门文章
- Win10 WSL adb使用
- Clojure 学习入门(12)- map/pmap
- SpringBoot之kafka对接topic
- SpringBoot之idea打包以及启动jar包
- Win10使用Xrdp脚本远程桌面连接Ubuntu主机
- mpacc和计算机硕士,考MPAcc还是工作?读研三年VS工作三年对比!
- ef core mysql 生成迁移失败_EF Core 数据库迁移(Migration)
- xml格式校验工具_logback 日志输出格式
- python文件hadoop_采用Python来访问Hadoop HSFS存储实现文件的操作
- mac git配置 idea