赞
踩
jieba
库是一款优秀的 Python 第三方中文分词库,jieba
支持三种分词模式:精确模式、全模式和搜索引擎模式:
jieba.cut
接受方法输入参数:需要分词的字符串;cut_all参数使用是否采用全模式;jieba.lcut
以及jieba.lcut_for_search
直接返回列表#ieba.cut生成的是一个生成器,generator,也就是可以通过for循环来取里面的每一个词。
s='将中文文本拆分为词语保存到列表words中'
words=jieba.cut(s,cut_all=True) #将中文文本拆分为词语保存到列表words中.
print(words)
#运行结果:
#jieba.lcut 直接生成的就是一个list
s='将中文文本拆分为词语保存到列表words中'
words=jieba.lcut(s,cut_all=True) #将中文文本拆分为词语保存到列表words中.
print(words)
#运行结果:
函数:string.join()
Python中有join()和os.path.join()两个函数,具体作用如下:
函数说明
1、join()函数
语法: ‘sep’.join(seq)
参数说明
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串
2、os.path.join()函数
语法: os.path.join(path1[,path2[,…]])
返回值:将多个路径组合后返回
注:第一个绝对路径之前的参数将被忽略
对序列进行操作((分别使用’"与:"作为分隔符)
a1 = [ 'hello' ,'good' , 'boy' , 'xiaoming']
print(' '.join(a1))
print(':'.join(a1))
#输出
hello good boy xiaoming
hello:good:boy:xiaoming
对字符串进行操作
a2 = 'hello good boy xiaoming'
print(':'.join(a2))
#输出
h:e:l:l:o: :g:o:o:d: :b:o:y: :x:i:a:o:m:i:n:g
对元组进行操作
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
a3 = ('hello','good' , 'boy' , 'xiaoming')
print(':'.join(a3))
#输出
hello:good:boy:xiaoming
对字典进行操作
a4 = {'hello':1,'good': 2, 'boy': 3, 'xiaoming':4}
print(':'.join(a4))
#输出
hello:good:boy:xiaoming
合并目录
import os
a5 = os.path.join('/hello/','good/boy/','xiaoming')
print(a5)
#输出
/hello/good/boy/xiaoming
wordcloud执行过程分解:
①分隔:以空格分隔单词
②统计:单词出现次数并过滤
③字体:根据统计配置字号
④布局:颜色环境尺寸
import matplotlib.pyplot as plt from wordcloud import WordCloud from imageio import imread import jieba file=open("D:\系统默认\桌面\dataset/alice.txt", encoding='utf-8') # 将alice.txt文件打开 # open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 article=file.read() # 将文件内容读到article file.close() #关闭资源 seg_str=jieba.cut(article, cut_all=False) # 使用jieba进行分词 liststr="/".join(seg_str) #使用.join()方法用 ‘ / ’ 连接分割后的词 stopwords_path='D:\系统默认\桌面\dataset/stopwords6.txt' #将文件路径赋值给stopwords_path f_stop=open(stopwords_path, encoding='utf8') # 将stopwords_path文件打开 f_stop_text=f_stop.read() # 将文件内容读到f_stop_text f_stop.close() #关闭资源 mywordlist=[] #创建mywordlist空列表 f_stop_seg_list=f_stop_text.split('\n') #将f_stop_text以'\n'切割字符串,返回列表赋值给f_stop_seg_list for myword in liststr.split('/'): if not(myword.strip() in f_stop_seg_list)and len(myword.strip())>1: mywordlist.append(myword) #使用for循环,将liststr以 '/' 分割后的元素,一个个放入myword中,如果myword在的f_stop_seg_list中,且myword.strip()长度大于1,就将myword添加到列表mywordlist中 #此步是为了,去除停用词,将去除的停用词的元素放到新建的列表中 ss=' '.join(mywordlist) #将mywordlist以空格分割 bg="D:\系统默认\桌面\dataset/alice.jpg" #将图片路径赋值到变量bg中 imgbg=imread(bg) #imread()函数读取图片 a=WordCloud(font_path="D:\系统默认\桌面\dataset/simhei.ttf", background_color='white', width=1000, height=800, mask=imgbg) #定义词图的样式 #绘制云图 a.generate(ss) #根据文本生成词云 plt.imshow(a) plt.axis("off") plt.show()
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。