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. 尽管有人认为 ...
随机推荐
- ELK6.6.0+filebeat6.6.0部署
elastic不能用root用户去启动,否则会报错,所以创建elastic用户ES集群部署 1.创建elastic用户 $ useradd elastic $ passwd elastic 2..部署 ...
- 初学者易上手的SSH-hibernate04 一对一 一对多 多对多
这章我们就来学习下hibernate的关系关联,即一对一(one-to-one),一对多(one-to-many),多对多(many-to-many).这章也将是hibernate的最后一章了,用于初 ...
- Ubuntu 18.04.1安装IntelliJ IDEA
1.下载安装包 下载地址:https://www.jetbrains.com/idea/download/#section=linux 2.下载完成后,解压到/opt目录 .tar.gz -C /op ...
- B/S架构
B/S架构即浏览器和服务器架构模式.它是随着Internet技术的兴起,对C/S架构的一种变化或者改进的架构.在这种架构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser ...
- Windows安装zookeeper 单机版
首先需要安装JdK,从Oracle的Java网站下载,安装很简单,就不再详述. 1.下载zookeeper, https://mirrors.tuna.tsinghua.edu.cn/apache/z ...
- Descriptio Resource Path LocationType Archive for required library: 'D:/apache-maven/apache-maven-3.6.0/mavenrepository/org/springframework/spring-aspects/4.3.7.RELEASE/spring-aspects-4.3.7.RELEASE.
eclipse创建了一个maven项目后,在导入依赖包后返现项目有个红色刺眼的感叹号,再看控制台有个Problem提示 Descriptio Resource Path LocationType Ar ...
- 浮点型/小数/栅格图层转为整数型arcgis操作
有时候会遇到将32位栅格数据提取属性表的操作,但是一般此类数据都是浮点型,是无法计算得到属性表的.因此我们可以利用数据管理工具下的: 复制栅格工具,在最下面选择16位即可,看自己数据情况选择signe ...
- 第 8 章 容器网络 - 072 - 一文搞懂各种 Docker 网络
Docker 起初只提供了简单的 single-host 网络,显然这不利于 Docker 构建容器集群并通过 scale-out 方式横向扩展到多个主机上. 跨主机网络方案: Docker Over ...
- 2 - Binary Search & LogN Algorithm - Apr 18
38. Search a 2D Matrix II https://www.lintcode.com/problem/search-a-2d-matrix-ii/description?_from=l ...
- 自学PYTHON分享 --基础1
1.python2和python3的区别: 宏观上:python2 与 python3 区别: python2 源码不标准,混乱,重复代码太多, python3 统一 标准,去除重复代码. 2.pyt ...