最近受了新冠君的影响,甚至很多地方都出台了两天只有一一个人出行的最严防控令,情人们之间可能都不太方便见面了,
所以这里笔者建议各位程序员同仁们还是改用词云的方式来一场云表白,更为应景。
首先咱们可以用之前介绍过的wordcould包与jieba包制作词云。这两个Python包的安装十分简单。pip即可完成安装
  
   - 
    
     
    
    
     
      pip 
      install wordcloud
     
    
- 
    
     
    
    
     
      pip 
      install jieba
     
    
然后到百度上去一搜索一下心形的图案,也可以直接使用下图、

接下来你可以把与情人的聊天记录,通过多选-》邮件发送的方式另存为文件,然后进行分词分析。具体代码如下:
  
   - 
    
     
    
    
     
      from wordcloud 
      import WordCloud 
     
    
- 
    
     
    
    
     
      import cv2 
     
    
- 
    
     
    
    
     
      import jieba 
     
    
- 
    
     
    
    
     
      import matplotlib.pyplot 
      as plt  
     
    
- 
    
     
    
    
     
      #以下是你表白的词语
     
    
- 
    
     
    
    
     
      with open(
      'F:/lisarecord.txt', 
      'r') 
      as f:     
     
    
- 
    
     
    
    
     
         text = f.read()  
     
    
- 
    
     
    
    
     
      cut_text = 
      " ".join(jieba.cut(text)) print(cut_text)
     
    
接下来就可以通过背景制作词云了,整体代码如下:
  
   - 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      from wordcloud 
      import WordCloud
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      import cv2
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      import jieba
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      import matplotlib.pyplot 
      as plt
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      #以下是你们聊天记录另存为的文本
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      with open(
      'F:/record.txt', 
      'r') 
      as f:
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
          text = f.read()
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      cut_text = 
      " ".join(jieba.cut(text))
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      print(cut_text)
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      #以下用咱们刚刚另存为的图就可以
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      color_mask = cv2.imread(
      "F:/mask.jpg")
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      520cloud = WordCloud(
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
          font_path=
      " C:\\Windows\\Fonts\\simkai.ttf",
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
          background_color=
      'white',
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
          mask=color_mask,
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
          max_words=
      100,
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
          max_font_size=
      40
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      )
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      520wCloud = 
      520cloud.generate(cut_text)
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      520wCloud.to_file(
      'F:/520/cloud.jpg')
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      plt.imshow(
      520wCloud, interpolation=
      'bilinear')
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      plt.axis(
      'off')
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      plt.show()
     
    
具体效果如下,

这样的表白方式还算应景吧。
转载:https://blog.csdn.net/BEYONDMA/article/details/104312437
查看评论
					