zoukankan      html  css  js  c++  java
  • 作业练习P194,jieba应用,读取,分词,存储,生成词云,排序,保存

    import jieba
    
    #第一题
    txt='Python是最有意思的编程语言'
    words=jieba.lcut(txt) #精确分词
    words_all=jieba.lcut(txt,cut_all=True)  #全分词
    words_sh=jieba.lcut_for_search(txt) #搜索分词
    
    
    print(words)
    print(words_all)
    print(words_sh)
    
    
    #第二题
    txt1="今天晚上我吃了意大利面"
    jieba.add_word("意大利面") #增加分词
    words=jieba.lcut(txt1)
    
    print(words)
    
    
    #第三题
    
    filepath=r'D:/python/test-py/水浒传.txt'
    f=open(filepath,'r',encoding='utf-8')
    txt=f.read()
    f.close()
    words=jieba.lcut(txt)
    counts={}
    keylist=[]
    for word in words:
        if len(word)==1:
            continue
        else:
            counts[word]=counts.get(word,0)+1
    items=list(counts.items())
    items.sort(key=lambda x:x[1],reverse=True)
    for i in range(35):
        word,count=items[i]
        keylist.append(word)
        print("{0:^15}--{1:>5}".format(word,count))
    
    print('
    排名前15个词为:',keylist)
    #对统计结果进行保存
    f=open(r'D:/python/test-py/shuihuzhuang.txt','w')
    for i in range(35):
        f.write(str(items[i]))
    
    ##for i in str(items):
    ##    f.write(i)
    ##f.write(str(keylist))
    f.close()
    
    #接上面程序,使用wordcloud输出
    def pt(ls):
        print(ls)
    
    
    from wordcloud import WordCloud
    
    #前15个生成新的列表
    ##pt('
    新的列表为:')
    ##for a,b in items[1:16]:  #取15个元素
    ##    keylist.append(a)
    ##pt(keylist)
    newtxt=' '.join(keylist) #空格替换
    print('
    空格替换后生成:',newtxt)
    excludes={'一个'}
    wordcloud=WordCloud(background_color='white',
                        width=800,
                        height=600,
                        font_path='msyhbd.ttf',
                        max_words=200,
                        max_font_size=80,
                        stopwords=excludes,
                        ).generate(newtxt)   #生成词云
    wordcloud.to_file(r'D:/python/test-py/水浒传.png')
    
    ###z最后执行打包合作,在cmd.exe命令行程序 切换到py存放文件夹输入:PyInstaller -F p194zuoye.py
    ##newlist=[a[i] for a in items]
    
    
    
    ##pt(newlist)
  • 相关阅读:
    Android Loader异步装载
    Android 清除本地缓存
    Android 小知识
    Android 百度地图用法
    ANDROID笔记:四大组件之广播
    Android扩展:一个自动findViewById的小工具
    ANDROID笔记:基于handle的异步请求网络数据的一种方法
    ANDROID笔记:多线程断点下载
    ANDROID笔记:AIDL介绍
    ANDROID笔记:activity通过ContentProvider传值(仿调用系统图片浏览器过程)
  • 原文地址:https://www.cnblogs.com/huigebj/p/11439068.html
Copyright © 2011-2022 走看看