生成中英文词云

利用简单的python第三方库wordcloud,方便快捷的生成一个中文词云,利于快速浏览文章内容。其中jieba库为一个常用的中文分词库

import wordcloud
import jieba
from imageio import imread
mask = imread("五角星.png")
f = open("2019政府工作报告.txt","r",encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud(font_path = "msyh.ttc",width = 1000,                        height = 700,background_color = "white",                        mask = mask )

#生成词云:字体微软雅黑,宽1000,高度700,背景白色
w.generate(txt)
w.to_file("grwordcloud.png")

生成词云:

以此类推,生成一个英文词云:

import wordcloud

def getText():
    """打开文件,将文件内容变为字符串,并且全部转换为英文小写,同时将文本中的特殊字符替换为空格"""
    txt =  open("Hamlet.txt", "r", encoding='UTF-8').read()
    txt = txt.lower()
    for ch in '!"#$%&()*+,-./:;<=>[email protected][\\]^_‘’{|}~':
        txt = txt.replace(ch, " ")
    return txt

#排除常用词(随便改)
excludes = {
"ll",
"him",
"your",
"but",
"the",
"we",
"o",
"by",
"do",
"are",
"and",
"no",
"s",
"d",
"this",
"my",
"or",
"if",
"our",
"shall",
"from",
"come",
"come",
"thou",
"let",
"there",
"t",
"how",
"now",
"thy",
"may",
"most",
"more",
"to",
"he",
"a",
"of",
"was",
"it",
"you",
"she",
"in",
"that",
"said",
"her",
"i",
"his",
"they",
"had",
"as",
"for",
"with",
"so",
"not",
"then",
"when",
"on",
"at",
"all",
"will",
"be",
"have",
"is",
"into",
"out",
"came",
"me",
"went",
"what",
"like",
"know",
"would",
"them",
"well"
}

hamTxet = getText()
words = hamTxet.split()
counts = {}
clouds = []
# 统计单词数,首先排除常用词,如果word在counts中,则返回word对应的值,如果word不在counts中,则返回0
for word in words:
    if word in excludes:
        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(15):
    word, count = items[i]
    clouds.append(word)
    print("{0:<10}{1:>10}".format(word, count))

#生成词云,宽度为1000像素,高度为700像素,使用微软雅黑, 背景白色, 最多出现15个单词
w = wordcloud.WordCloud(width=1000, font_path="msyh.ttc", height=700, background_color = "white", max_words = 15)
w.generate(hamTxet)
w.to_file("hamwcloud.png")

原文地址:https://www.cnblogs.com/newbase/p/12077589.html

时间: 2024-11-08 13:43:33

生成中英文词云的相关文章

Python 生成中文词云

豆子无意中发现Python有个现成的模块 word cloud可以根据文本文件生成词云,很好很强大,简单地玩了一把. 写代码之前,首先需要安装3个依赖的Python模块,分别是matplotlib, jieba和wordcloud.这三个模块分别是用来作图,中文分词和生成词云的.安装方式可以直接通过 pip install实现.如果在线安装出现报错(很有可能的事情),那么可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载对应版本和位数的whl文件,

用QQ聊天记录生成一个词云

QQ的聊天记录可以通过消息管理器,选中联系人,右键导出为 .txt 格式.由于是中文,需要分词,本文的分词工具采用的是 jieba 分词. 不知道这个“福”能不能扫出来. 假设你已经导出与某人的聊天记录,接下来需要先过滤再分词生成词云. 1. 过滤掉图片和表情,以及聊天记录的时间和qq名称 newtext = [] for word in open('lr.txt', 'r', encoding='utf-8'): tmp = word[0:4] if (tmp == "2019" o

[python] 词云:wordcloud包的安装、使用、原理(源码分析)、中文词云生成、代码重写

词云,又称文字云.标签云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思.常见于博客.微博.文章分析等. 除了网上现成的Wordle.Tagxedo.Tagul.Tagcrowd等词云制作工具,在python中也可以用wordcloud包比较轻松地实现(官网.github项目): from wordcloud import WordCloud import matplotlib.pyplot as pl

Studio 爬虫 文本分词 化词云个性化设计

Studio 爬虫 文本分词 化词云个性化设计 分析步骤 设置工作目录 下载依赖包 加载依赖包 设置爬虫数据的URL地址 爬取数据 数据清洗 产看数据 制作词云 加载停用词表 去掉停用词 查看数据 生成Top100 词云 生成完整词云 个性化设计 setwd() install.packages("rjava") install.packages("wordcound") install.packages("wordcound2") librar

词云wordcloud

pip install wordcloud 没有报错,如果有错误可以从http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud下载whl文件直接安装. # -*- coding: utf-8 -*- __author__ = 'leilu' #wordcloud生成中文词云 from wordcloud import WordCloud import codecs import jieba #import jieba.analyse as anal

python3 wordcloud词云

wordclou:根据文本生成词云 一.词云设置 1 wc=WordCloud(width=400, height=200, #画布长.宽,默认(400,200)像素 2 margin=1, #字与字之间的距离 3 background_color='white',#背景颜色 4 min_font_size=3,max_font_size=None,#显示的最小,最大的字体大小 5 max_words=200,#显示的词的最大个数 6 ranks_only=None,#是否只是排名 7 pref

将QQ聊天记录创建为词云

1. 导出并清洗qq聊天记录 将qq聊天记录从电脑版qq导出 去掉聊天中的图片表情以及时间戳 具体代码如下: def Pretreatment(): with open("未处理的聊天记录文件路径","r") as readfile: with open("处理后的聊天记录文件路径","at") as writefile: while True: line = readfile.readline() if line is ''

词云分析《天龙八部》人物出现次数

一.需要的三方库 1.安装词云: pip install wordcloud 2.安装结巴 pip install jieba 3.安装matplotlib pip install matplotlib 二.实现代码 1 import jieba # 分词函数 2 from scipy.misc import imread # 这是一个处理图像的函数 3 from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator 4 impor

Matplotlib学习---用wordcloud画词云(Word Cloud)

画词云首先需要安装wordcloud(生成词云)和jieba(中文分词). 先来说说wordcloud的安装吧,真是一波三折.首先用pip install wordcloud出现错误,说需要安装Visual C++ 14.0.折腾半天安装好Visual C++后,还是不行,按网上指点,下载第三方包安装(https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud).安装是成功了,可是在anaconda里导入的时候又出现了问题,说是"no module