import jieba import wordcloud def takeSecond(elem): return elem[1] def createWordCloud(text): w=wordcloud.WordCloud ('font_path'=="msyh.ttf",'width'==1000,'height'==500,'background_color'=="white").generate(text) w.to_file("西游记词云图.jpg") def main(): path = "西游记.txt" file = open(path,"r",encoding="utf-8") text=file.read() file.close() words = jieba.lcut(text) counts = {} for word in words: if len(word) == 1: continue elif word == "大圣" or word=="老孙" or word=="行者" or word=="孙大圣" or word=="孙行者" or word=="猴王" or word=="悟空" or word=="齐天大圣" or word=="猴子": rword = "孙悟空" elif word == "师父" or word == "三藏" or word=="圣僧": rword = "唐僧" elif word == "呆子" or word=="八戒" or word=="老猪": rword = "猪八戒" elif word=="沙和尚": rword="沙僧" elif word == "妖精" or word=="妖魔" or word=="妖道": rword = "妖怪" elif word=="佛祖": rword="如来" elif word=="三太子": rword="白马" else: rword = word counts[rword] = counts.get(rword,0) + 1 file = open("excludes.txt","r",encoding="utf-8") excludes =file.read().split(",") file.close for delWord in excludes: try: del counts[delWord] except: continue items = list(counts.items()) items.sort(key = takeSecond,reverse=True) for i in range(20): item=items[i] keyWord =item[0] count=item[1] print("{0:<10}{1:>5}".format(keyWord,count)) createWordCloud(str(items[0:20])) main()
时间: 2024-04-07 16:27:59 浏览: 140
jieba-0_jieba安装0.4.1_jieba-0.42.1.tar_jieba-0.42.1.tar.gz_jieba-
5星 · 资源好评率100%
在代码中,创建词云对象时,参数的赋值方式不正确。应该使用等号(=)而不是双等号(==)。请修改代码中创建词云对象的部分,将`'font_path'=="msyh.ttf",'width'==1000,'height'==500,'background_color'=="white"`改为`font_path="msyh.ttf",width=1000,height=500,background_color="white"`。
阅读全文