信息领域热词分析系统--python统计

Posted 呵呵^~^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信息领域热词分析系统--python统计相关的知识,希望对你有一定的参考价值。

统计词语出现的频率,并且按从高到低的顺序报错在文件中

def main():
    file=open("F:大数据大作业分词后的文件data4_xinxi.txt",r)
    wordCounts={}    #先建立一个空的字典,用来存储单词 和相应出现的频次
    count=50       #显示前多少条(按照单词出现频次从高到低)
    for line in file:

        lineprocess(line.lower(),wordCounts)  #对于每一行都进行处理,调用lineprocess()函数,参数就是从file文件读取的一行
        items0=list(wordCounts.items())       #把字典中的键值对存成列表,形如:["word":"data"]
        items=[[x,y] for (y,x) in items0]     #将列表中的键值对换一下顺序,方便进行单词频次的排序 就变成了["data":"word"]
        items.sort()            #sort()函数对每个单词出现的频次按从小到大进行排序
    gailv=[]#存储像文件中输入的词语以及概率
    for i in range(len(items)-1,1,-1):   #上一步进行排序之后 对items中的元素从后面开始遍历 也就是先访问频次多的单词
            if items[i][0]<10:
                break;
            zz=items[i][1]+"	"+str(items[i][0])
            gailv.append(zz)
    f2 = open("F:大数据大作业分词后的文件data5_xinxi.txt", a+,encoding=utf-8)
    for z1 in gailv:
        f2.write(z1)
        f2.write("
")
    f2.close()


def lineprocess(line,wordCounts):
    for ch in line:   #对于每一行中的每一个字符 对于其中的特殊字符需要进行替换操作
        if ch in "[email protected]#$%^&*()_-+=<>?/,.:;{}[]|‘""":
            line=line.replace(ch,"")
    words=line.split()  #替换掉特殊字符以后 对每一行去掉空行操作,也就是每一行实际的单词数量
    for word in words:
        if word in wordCounts:
            wordCounts[word]+=1
        else:
            wordCounts[word]=1

    #这个函数执行完成之后整篇文章里每个单词出现的频次都已经统计好了


main()

 

以上是关于信息领域热词分析系统--python统计的主要内容,如果未能解决你的问题,请参考以下文章

信息领域热词分析系统--python切词

信息领域热词分析

假期学习十三信息领域热词分析系统--整体完成

信息领域热词分析系统--词云

《信息领域热词分析》系统安全性战术分析

信息领域热词分析系统--java爬取CSDN中文章标题即链接