文本字频统计

该代码段展示了一个使用Python进行文本处理的例子,包括读取文件内容、将文本转为小写、替换标点符号、按空格分词、统计单词出现次数以及排除特定词汇。最终,它按词频降序排列并打印出长度大于3且计数大于2的单词。
摘要由CSDN通过智能技术生成


                                      #定义函数:
def getFileText():
        filTxt=open('../Stu_pack/file/letter.txt','r').read()#将文本里所有字母都转换成小写
        filTxt=filTxt.lower()
        for ch in '!"#$%&()*+-*/,.:;<+>?@[]\\^-{}|^':
            filTxt=filTxt.replace(ch,' ')                    #将所有德标点符号都用空格替代
        return filTxt
letterTxt=getFileText()
words=letterTxt.split()                                              #将只有带空格的文本按空格分成每个单词
wdCountDict={}
excludes={"the","of","you","your","will","that","don't"}   #定义字典变量以备记录单词出现的次数和最后输出内容
for word in words:
        wdCountDict[word]=wdCountDict.get(word,0)+1         #获取某单词的拼写和累加出现的次数
for word in excludes:                                       #将excludes里出现的单词删除掉
        del(wdCountDict[word])
items=list(wdCountDict.items())                             #将字典数据转换成列表类型
items.sort(key=lambda x:x[1],reverse=True)                   #将列表按第2列x[1]降序排序
print('{0:<10}{1:>5}'.format('word','count'))              #将结果内容以对应的格式打印出来
print('_'*21)
for key,val in items:
    if len(key)>3 and val>2:
        print(key,value)             #'<'表示左对齐,'>'表示右对齐

 


                                            

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值