统计文章里的词频并降序输出

python基础


资料
onelife.txt

import re
from string import punctuation
# 读取文件
with open('D://onelife.txt', encoding='utf-8') as f1:contents = f1.readlines()
# 遍历每行的单词
for content in contents:# 将字母转成小写content = content.lower()# 过滤标点符号content = re.sub('[{}]'.format(punctuation + '《》'), ' ', content)# 定义一个空的字典用来统计词频WordConut = {}# 将每行单词转成列表words = content.split()for word in words:# 判断单词是否在字典中 存在加1if word in WordConut:WordConut[word] += 1else:WordConut[word] = 1
# 将字典转成列表
WordConut = WordConut.items()
# 对列表进行排序
items = sorted(WordConut, key=lambda x: x[1])
# 按词频降序
for i in range(len(items)-1, 0, -1):print(items[i][0],':',items[i][1])

在这里插入图片描述

countries_zh.csv

# 引入有模板首航跳过
from itertools import islice
# 定义一个空字典
direct = {}
# 读文件
with open('D://countries_zh.csv', encoding='utf-8') as  f1:# 首行跳过for line in islice(f1, 1, None):# 将每行截成字符数组item = line.split(',')# 将字符串转成整形item[4] = int(item[4].split('\n')[0])# 将每行的单词以key:value写入字典中direct[item[0] + ',' + item[1] + ',' + item[2] + ',' + item[3]] = item[4]
# 将字典转成列表
direct = direct.items()
# 对列表排序
list = sorted(direct, key=lambda x: x[1])
# 最后在对列表降序
for i in range(len(list) - 1, 0, -1):print(list[i][0], ',', (list[i][1]))

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部