python 生成词云

#coding=utf-8
from  wordcloud import  WordCloud
import  PIL .Image as Image
import  matplotlib
import numpy as np # numpy数据处理库
import jieba # 结巴分词
import os
import time


class Post():
    def __init__(self,start):
        print('开始')
        self.load(start)

    def load(self,start):
        with open('word.txt', 'r', encoding='utf-8-sig') as file_open:
            content = file_open.read()
            text=self.jieba_CN(content)
            print(text)
            mask = np.array(Image.open('2.jpg'))  # 定义词频背景
            wordcloud=WordCloud(
                font_path='msyh.ttc',
                mask=mask,  # 设置背景图
                max_words=500,  # 最多显示词数
                max_font_size=70  # 字体最大值
            ).generate(text)
            # 生成年月日时分秒时间
            picture_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
            directory_time = time.strftime("%Y-%m-%d", time.localtime(time.time()))

            imgsrc = '.\\' + directory_time + '\\' + picture_time + '.png'
            # 获取到当前文件的目录,并检查是否有 directory_time 文件夹,如果不存在则自动新建 directory_time 文件
            try:
                File_Path = os.getcwd() + '\\' + directory_time + '\\'
                if not os.path.exists(File_Path):
                    os.makedirs(File_Path)
                    print("目录新建成功:%s" % File_Path)
                else:
                    print("目录已存在!!!")
            except BaseException as msg:
                print("新建目录失败:%s" % msg)

            image_produce=wordcloud.to_image()
            image_produce.show()
            wordcloud.to_file(imgsrc)

    def jieba_CN(self,text):
        wordlist=jieba.cut(text)
        result=' '.join(wordlist)
        return  result

if __name__ == '__main__':
    Post("statr")

 

注意事项

word.txt

字体一定要,图片尽量有点轮廓的图片

生成效果

分享一个下载地址

https://download.csdn.net/download/zy1183723764/11729707

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值