Python---qq群聊天记录词云分析
python拥有近13w个第三方库,其中有很多优秀的库,比如
wordcloud,scipy,jieba
等库,能快速实现很多功能,比如制作一个QQ群聊天记录词云……
工具:PyCharm, Python3.6.5
1.获取数据源
要用.txt导出到任意盘符,接下来就要对导出的txt文件进行数据分析。
2.下载对应库
这一步是对于初学者最难的一步,其中有很多坑等着你。(下面以安装wordcloud为例,因为这个最麻烦)
(1)PyCharm的Terminal中输入pip install wordcloud
来下载wordcloud库,一般情况下会安装失败==!那就用方法2
(2)第二个方法是到此网站下载安装包
重要提醒:通过cmd中输入
python -V
来查看你的python版本并下载对应的安装包,同时注意你的python是32位还是64位
以py3.6为例:wordcloud‑1.4.1‑cp36‑cp36m‑win32.whl
cp36代表python3.6 ; win32代表32位的python
下载完成后把文件放到python目录的Scripts下,并在PyCharm的Terminal中运行pip install wordcloud‑1.4.1‑cp36‑cp36m‑win32.whl
注意:得在Scripts下运行
3.代码部分
安装好各种库后终于可以编写代码了
分两步搞定
(1)过滤txt文件中无用的信息,避免词云中都是无效信息,并用jieba进行分词
直接上代码
import jieba newtext = [] # 打开E盘下的聊天记录文件qq.txt for word in open('E:\\qq.txt', 'r', encoding='utf-8'): tmp = word[0:4] if (tmp == "2017" or tmp == "===="or tmp == "2018"): # 过滤掉聊天记录的时间和qq名称 continue tmp = word[0:2] if (tmp[0] == '[' or tmp[0] == '/'or tmp[0] == '@'): # 过滤掉图片和表情,例如[图片],/滑稽 continue newtext.append(word) # 将过滤掉图片和表情和时间信息和qq名称剩下的文字重新写入E盘下的q1.txt文件中去 with open('E:\\q1.txt', 'w', encoding='utf-8') as f: for i in newtext: f.write(i) # 打开新生成的聊天记录文件 text = open('E:\\q1.txt', 'r', encoding='utf-8').read() word_jieba = jieba.cut(text, cut_all=True) word_split = " ".join(word_jieba)
通过这步在E盘中得到了一个q1.txt文件,你打开会发现变的整洁干净了许多,当然你也可以通过进一步学习来更好的过滤文本
(2)最后一步,再新建一个.py,用到wordcloud库来绘制词云图(为便于理解,将程序分成两部分运行,你也可以尝试将两程序合并)
from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator import matplotlib.pyplot as plt from scipy.misc import imread text = open('E:\\q1.txt', 'r', encoding='utf-8').read() # 打开过滤好的txt文件 print(text) bg_pic = imread('E:\\sjt.jpg') # 导入词云背景 wordcloud = WordCloud(mask=bg_pic, background_color='white', scale=1.5, font_path='C:/Windows/Fonts/simhei.ttf', width=1000,height=600,stopwords={'表情','糊脸','拍桌','拍头'},min_font_size=10,max_font_size=36,font_step=4, ).generate(text) # 定义词云的各种变量,可以控制词云的形式,这里的控制变量可以去网上查找,stopwords={'表情','糊脸','拍桌','拍头''是为了过滤掉里面的部分表情信息 image_colors = ImageColorGenerator(bg_pic) plt.imshow(wordcloud) plt.axis('off') plt.show() wordcloud.to_file('E:\\text.jpg') # 输出词云
快去制作你的炫酷词云吧!!!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
图解使用IDEA创建第一个Java程序HelloWorld
前几次给大家分享了怎么在自己的电脑上配置 java 环境,准备工作做好了,我们就要开始我们真正的编码学习了。下面介绍使用 IDEA 创建我们的第一个 HelloWorld 程序。 1、打开 IDEA,创建一个新的项目。 2、在弹出的对话框中,选择 Java,第一次使用的时候,要选择我们之前下载好的 JDK 文件。 3、点击下一步,这里我们不使用推荐的,我们自己来手动建立。 4、点击下一步,填写我们的项目名称和选择项目的路径地址。 5、点击 Finish,项目会自动创建和进行加载,并进入主页面,主页面左边是我们的项目目录结构。 6、我们在 src 目录下边创建一个 package。 7、在上一步创建的 package 上面在创建一个 HelloWorld 类。 8、创建完 HelloWorld 类,可以看到下面的效果。 9、在我们的主函数中写一个输出语句。 10、右击点击运行。 11、执行结果。 到此,我们的第一个程序就完成,希望大家有所收获,继续努力。 PS:如果觉得文章不错的话,还请大家点赞分享下,算是对我的最大支持。
- 下一篇
jQuery学习笔记--选择器和事件
以下内容参考 W3school 简书 你要是问我什么是jQuery 那可以这么两句话概括: jQuery 是一个 JavaScript 库。 jQuery 极大地简化了 JavaScript 编程。 要学jQuery最好有点javaScript的基础 有人对jQuery对象和javaScript对象之间的还是有点混淆 也是很简单理解 你可以理解为 jQuery对象是对javaScript对象的包装 做的读书笔记 如有纰漏 一起学习,一起进步 jQuery 库包含以下特性: 1. HTML 元素选取 2. HTML 元素操作 3. CSS 操作 4. HTML 事件函数 5. JavaScript 特效和动画 6. HTML DOM 遍历和修改 7. AJAX 8. Utilities 如何引用jQuery呢? jquery下载所有版本及使用 常用的在线使用jQuery 使用 Google 的 CDN <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs /jque...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果