You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
import csv
|
|
import jieba
|
|
from matplotlib import pyplot as plt
|
|
from wordcloud import WordCloud
|
|
from PIL import Image
|
|
import numpy as np
|
|
import pandas as pd
|
|
path = r'C:\Users\123\Desktop'
|
|
with open(path+r'\doubanbook1.csv','r',encoding='utf-8') as f:
|
|
reader = csv.reader(f)
|
|
with open(path+r'\ciyun.txt','w',encoding='utf-8') as f:
|
|
for row in reader:
|
|
column = row[6]
|
|
f.write(column+'\n')
|
|
font = r'C:\Windows\Fonts\FZSTK.TTF'#电脑自带的字体
|
|
def tcg(texts):
|
|
cut = jieba.cut(texts) #分词
|
|
string = ' '.join(cut)
|
|
return string
|
|
text = (open(path+r'\ciyun.txt','r',encoding='utf-8')).read()
|
|
string=tcg(text)
|
|
img = Image.open(path+r'\书.jpg') #打开图片
|
|
img_array = np.array(img) #将图片装换为数组
|
|
stopword=[''] #设置停止词,也就是你不想显示的词
|
|
wc = WordCloud(
|
|
background_color='white',
|
|
width=1000,
|
|
height=800,
|
|
mask=img_array, #设置背景图片
|
|
font_path=font,
|
|
stopwords=stopword
|
|
)
|
|
wc.generate_from_text(string)#绘制图片
|
|
plt.imshow(wc)
|
|
plt.axis('off')
|
|
plt.show() #显示图片
|
|
wc.to_file(path+r'\goodciyun.png') #保存图片
|
|
|
|
|