Python 统计英文词频 (txt格式)
import re
def fre(TargetName, desName):
'''打开 TargetName 文本,统计总单词数、独特的单词数、单词词频,并写入 desName 文件中'''
dict = {} # 存放单词
number = 0 # 统计文本总单词数
uniqueNum = 0 # 统计文本不重复的单词的个数
# 打开文本
with open(TargetName,'r',encoding='utf-8') as f:
for line in f: # 逐行读取
# 使用正则表达式替换除了 字母和空白符 以外的所有其他符号
line = re.sub(r'[^\w\s-]+', ' ', line)
word = line.split() # 将句子分割成单词列表
for w in word:
number += 1 # 每遍历一个单词,总单词数就+1
w = w.lower() # 单词转换成全小写的形式
if w not in dict:
dict[w] = 1
uniqueNum += 1
else:
dict[w] = dict[w]+1
#格式化打印
print(f'{"Total words": <20} {number}')
print(f'{"Unique words": <20} {uniqueNum}')
# 将词频写入文件
with open(desName, 'w', encoding='utf8') as f:
# 先写入总词数、不重复单词数的信息
f.write(f'{"Total words": <20} {number}\n')
f.write(f'{"Unique words": <20} {uniqueNum}\n')
f.write('-----------------------------\n')
for i in sorted(dict.items(), key=lambda x: x[1], reverse=True): # 将字典降序排序,并遍历
f.write(f'{i[0]: <20} {i[1]}\n')
print(f'{i[0]: <20} {i[1]}')
if __name__=="__main__":
# 要分析的文件的路径
name = r'C:\blood.txt'
# 生成的词频的路径
desName = 'C:\dict.txt'
fre(name,desName)
分类:
Python Scripts
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构