获取文本文件的内容 并统计英文小说内的单词个数以及用图表显示

-- coding=utf-8 --

file=open(‘test.txt’,encoding=’utf-8’)

print(file)

content=file.read()

print(content)

file.close()

import string
from matplotlib import pyplot as plt

def show_words(num):

    with open('test.txt',encoding='UTF-8') as f:
        content = f.read()
        # 使用replace方法替换标点符号
        word_list=content.split()
        words=[]
        #遍历列表
    for word in word_list:
        word=word.strip(string.punctuation+string.whitespace)
        word=word.lower()
        words.append(word)

    # print(words)

    hist={}
    for word in words:
        if word not in hist:
            hist[word]=1
        else:
            hist[word]=hist[word]+1
    # print(hist)


    hist_list=[]
    #字典:items()  分别获取到键值对的  键  与 值
    for key,value in hist.items():
        print('键:%s        值:%s'%(key,value))
        hist_list.append((value,key))
    hist_list.sort(reverse=True)
    # print(hist_list)

    for ys in hist_list[:num]:
        plt.bar(ys[-1],ys[0])
    plt.legend   #代表数据传输完毕
    plt.title('word_anls')
    plt.xlabel('words')
    plt.ylabel('times')
    plt.show()   #设置图表显示

if name == ‘main‘:
nums = int(input(‘请输入你想得到单词的个数:’))
show_words(nums)
#排序,根据每个单词出现的次数排序
#[] 方法 sort
# 格式化为[(18:the),(9:a)]

最终效果图最终效果图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值