python 用字符串生成词云图

python 用字符串生成词云图

更多jieba相关内容: jieba中文处理

1.大致步骤
1. 从mysql读取数据
2. 分词分
3. 生成词云图


2.用到的库
- jieba 分词
- wordcloud 词云生成和保存

3.代码如下:

#连接数据库
def connect_mysql():
    conn = pymysql.connect(
        host='localhost',
        db='TESTDB',
        user='pymysql',
        passwd='123123',
        charset='utf8',           
        )
    cursor = conn.cursor()
    return cursor
#拿到标题和新闻内容
def process(cursor):
    sql="SELECT news,title FROM southcity where title<>'广告'"
    length=cursor.execute(sql) #返回一个int数据为记录数目
    result=cursor.fetchall()  #返回一个tuple
    news=result
    return news,length
#分词并返回以空格分隔的分词字符串
def cut_word(news,length):
    blacklist=[' ','  ','(',')','(',')','']
    contents=[]
    for i in range(length):
        seg_list = jieba.cut(str(news[i][0]),cut_all=False)
        seg_list=list(seg_list)
        # for j in range(len(seg_list)):
        #     word=str(seg_list[j]
        #     # if len(word)<=1 or word in blacklist:
        #     #     del seg_list[j]
        content= " ".join(seg_list) #精确模式
        contents.append(content)
    return contents
#生成词云图
def wordcloud(contents,news):
    print(len(contents))
    for i in range(len(contents)):
        wc = WordCloud(font_path=u"static/fonts/simhei.ttf",
               max_words=2000,
               width=1920,
               height=1080,
               background_color="black",
               margin=5)
        try:
            wc.generate(contents[i])
            wc.to_file('result2/%s.png'%news[i][1])
        except:
            print("四BAI")

3.可参考内容

  1. NLP可视化: 用Python生成词云(偏向预处理、主题词提取)
  2. Python + worldcloud + jieba 十分钟学会用任意中文文本生成词云
    (没用上,自定义部分介绍的比较多)
  3. 结巴分词
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值