60行python代码分析2018互联网大事件
2018年是改革开放四十周年,也是互联网发展的重要一年。经历了区块链,人工智能潮的互联网行业逐渐迎来了冬天。这一年里有无数的事件发生着,正好学了python数据处理相关,那么就用python对18年的互联网事件进行一个简单的记录与分析。这里主要用了wordcloud和jieba。
首先来看一个数据表,这份excel表单几乎就是2018全年互联网圈发生的所有事件了。

那么现在想要分析着数万条数据,可以用什么方法呢,我们首先会想到用可视化来呈现,图表展示也许会更清晰,但是这里我们选择用python中简单易用的词云来展示。
废话就不多说了,直接贴代码。
#copyright by pricechen
#几个常用库
import xlrd
import jieba
from wordcloud import WordCloud,ImageColorGenerator
import codecs
import imageio #先把文件地址写好,对文件保存地址有需求的同学可以自行设置一下输入input
Savepath = 'E:\\pricechen\\data\\'
filename = '2018大事件记录.xlsx'
month = ['', '', '', '', '', '', '', '', '', '', '', ''] #对内容进行封装
def fileHandle(Savepath,filename,month):
#打开excel文件
book = xlrd.open_workbook(Savepath+filename)
sheet = book.sheet_by_name('Sheet') #处理新闻数据
for i in range(0,sheet.nrows):
#每一行内容
textLine = sheet.row_values(i)
# print(textLine)
#遍历月份
for data in month:
if textLine[0][5:7]==data:
#这里进行异常处理
try:
#写入以月份命名的文件夹
with open(Savepath+ data + '.txt', 'a+') as f:
f.write(textLine[1]+' ')
except FileNotFoundError:#文件不存在异常
continue
except UnicodeEncodeError:#编码异常
continue def WCHandle(Savepath,month):
#处理词云图片
for i in range(0,12):
imagePath = Savepath + 'background\\' + month[i] + '.jpg'
textPath = Savepath + month[i] +'.txt'
with codecs.open(textPath) as f:
text = f.read()
# cut_text = ' '.join(jieba.cut(text))#使用jieba分词得到词语字符串
#这里原本使用的是jieba分词,但是后面觉得分词之后展现的数据反而没有那么直观
cut_text = ' '.join(text.split(',')) #改用了将每一句话展现到词云里面
try: #背景图片选择,这里最后因为序号错误需要加一个异常处理,选择第00张图片
background = imageio.imread(imagePath)
except FileNotFoundError:
background = imageio.imread('E:\\pricechen\\data\\background\\00.jpg')
#设置词云参数
cloud = WordCloud(font_path = \
Savepath+'WenYue-FangTangTi-NC-2.otf',
background_color = 'white',mask = background,\
max_words=2000,max_font_size = 40,\
scale=10, #清晰度,这里考虑电脑配置,只选择15
)
word_cloud = cloud.generate(cut_text)
#保存,使用原图保存方式
word_cloud.to_file(Savepath+'2018\\Chinese'+month[i]+'.jpg')
#这边就是自动化处理了
if __name__=='__main__':
fileHandle(Savepath,filename,month)
WCHandle(Savepath,month)
以上就是所有代码了,一共六十行左右代码,就能处理近六万条数据。
十二个月的数据,每个月都处理为一张词云图,每张词云图都用了一个省的地图作为模板。
来看看处理后的结果,我就直接上图了,因为图片比较大(保存的清晰度较高),这里就只放两张图。


需要2018年互联网大事件数据的可以私信我,代码有错误的话欢迎指正哦。
60行python代码分析2018互联网大事件的更多相关文章
- 一个 11 行 Python 代码实现的神经网络
一个 11 行 Python 代码实现的神经网络 2015/12/02 · 实践项目 · 15 评论· 神经网络 分享到:18 本文由 伯乐在线 - 耶鲁怕冷 翻译,Namco 校稿.未经许可,禁止转 ...
- 21行python代码实现拼写检查器
引入 大家在使用谷歌或者百度搜索时,输入搜索内容时,谷歌总是能提供很好的拼写检查,比方你输入 speling,谷歌会立即返回 spelling. 前几天,看到http://norvig.com/spe ...
- 教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏
早就听说网上有人仅仅用60行JavaScript代码写出了一个俄罗斯方块游戏,最近看了看,今天在这篇文章里面我把我做的分析整理一下(主要是以注释的形式). 我用C写一个功能基本齐全的俄罗斯方块的话,大 ...
- 10 行 Python 代码实现模糊查询/智能提示
10 行 Python 代码实现模糊查询/智能提示 1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的 ...
- 60行JavaScript代码俄罗斯方块
教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏 早就听说网上有人仅仅用60行JavaScript代码写出了一个俄罗斯方块游戏,最近看了看,今天在这篇文章里面我把我做的分析整理一下( ...
- 20行Python代码爬取王者荣耀全英雄皮肤
引言王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工作 ...
- 200行PYTHON代码实现贪吃蛇
200行Python代码实现贪吃蛇 话不多说,最后会给出全部的代码,也可以从这里Fork,正文开始: 目前实现的功能列表: 贪吃蛇的控制,通过上下左右方向键: 触碰到边缘.墙壁.自身则游戏结束: 接触 ...
- 200行Python代码实现2048
200行Python代码实现2048 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面 ...
- 40多行python代码开发一个区块链。
40多行python代码开发一个区块链?可信吗?我们将通过Python 2动手开发实现一个迷你区块链来帮你真正理解区块链技术的核心原理.python开发区块链的源代码保存在Github. 尽管有人认为 ...
随机推荐
- 2>&1的意思
2>&1的意思就是将标准错误也输出到标准输出当中.
- Git 安装和使用Tips
1. git的安装 2. git的常见用法 3. git的常见问题 1. git的安装 1)首先去下载https://git-scm.com/downloads 在上述官网上下载符合自己操作系统的gi ...
- js中的继承总结全( 含new 原理过程 )
1. 借用 new 构造函数继承 原理: 利用 new 的原理, 通过apply,call , bind 改变 this , 只能实现部分方法的继承: MDN对new的描述: new 运算符创建一个 ...
- fiddler抓不到chrome浏览器的请求
今天遇到一个非常尴尬的问题,接口在某种情况下会报错,此时前端会展示NAN之类的东西,由于复现不了,接口现在一直不报 错了,所以就让前端做了个友好提示, 当接口报错时,给个提示“请稍后重试” ,我要测试 ...
- web安全测试--sql注入攻击
先要自行了解sql的几个概念: 1. or '1'='1' 2. order by 3. union : 联合查询需要表字段相同 sql注入攻击漏洞判断步骤: 1.‘ 2.查看数据库信息 3.绕过过 ...
- JVM垃圾回收(三)- GC算法:基础
GC算法:基础 在介绍GC算法在实际场景中的实现之前,我们先定义一些必要的术语,以及GC算法的基本准则.具体的细节会因收集器的不同而稍有区别,但是基本上来说,所有的收集器会关注以下两个方面: 找出所有 ...
- 使用npm私有服务器保存公司内部强业务类型组件(三):关于业务性组件的一点思考
编写业务性组件最难的地方不在于技术,而在于沟通, 1:前端将业务给封装了起来,必然导致产品在设计的时候多了一层考虑,在新增功能的时候 他要考虑这个功能是不是在其他项目也需要,如果不是的话,就不应该放在 ...
- 【实战问题】【4】Vue写的页面在微信手机端和微信web开发者工具中都能正常显示,但是在微信pc端上显示空白
原因:pc端微信浏览器不支持es6,而代码中使用了 let . 解决:将 let 改为 var(若使用 es6 语法比较多,可以进行转换,将 es6 语法转为 es5) 参考博客: 1,h5微信页面在 ...
- es6语法在ios低版本的支持性
let.const.箭头函数在ios的某些版本不支持,会引起报错 参考:https://blog.csdn.net/cx091/article/details/79805369 https://can ...
- 找到多个与名为“Home”的控制器匹配的类型
“/”应用程序中的服务器错误. 找到多个与名为“Home”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的路由没有指定命名空间以搜索与此请求相匹配 ...