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互联网大事件的更多相关文章

  1. 一个 11 行 Python 代码实现的神经网络

    一个 11 行 Python 代码实现的神经网络 2015/12/02 · 实践项目 · 15 评论· 神经网络 分享到:18 本文由 伯乐在线 - 耶鲁怕冷 翻译,Namco 校稿.未经许可,禁止转 ...

  2. 21行python代码实现拼写检查器

    引入 大家在使用谷歌或者百度搜索时,输入搜索内容时,谷歌总是能提供很好的拼写检查,比方你输入 speling,谷歌会立即返回 spelling. 前几天,看到http://norvig.com/spe ...

  3. 教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏

    早就听说网上有人仅仅用60行JavaScript代码写出了一个俄罗斯方块游戏,最近看了看,今天在这篇文章里面我把我做的分析整理一下(主要是以注释的形式). 我用C写一个功能基本齐全的俄罗斯方块的话,大 ...

  4. 10 行 Python 代码实现模糊查询/智能提示

    10 行 Python 代码实现模糊查询/智能提示   1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的 ...

  5. 60行JavaScript代码俄罗斯方块

    教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏   早就听说网上有人仅仅用60行JavaScript代码写出了一个俄罗斯方块游戏,最近看了看,今天在这篇文章里面我把我做的分析整理一下( ...

  6. 20行Python代码爬取王者荣耀全英雄皮肤

    引言王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工作 ...

  7. 200行PYTHON代码实现贪吃蛇

    200行Python代码实现贪吃蛇 话不多说,最后会给出全部的代码,也可以从这里Fork,正文开始: 目前实现的功能列表: 贪吃蛇的控制,通过上下左右方向键: 触碰到边缘.墙壁.自身则游戏结束: 接触 ...

  8. 200行Python代码实现2048

    200行Python代码实现2048 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面 ...

  9. 40多行python代码开发一个区块链。

    40多行python代码开发一个区块链?可信吗?我们将通过Python 2动手开发实现一个迷你区块链来帮你真正理解区块链技术的核心原理.python开发区块链的源代码保存在Github. 尽管有人认为 ...

随机推荐

  1. loadrunner转码两种方式

    1.//使用转换函数将resp值做编码转换并存入msg lr_convert_string_encoding(“佛挡杀佛”),"utf-8",NULL,"msg" ...

  2. Java 的 clone 方法 && 浅复制和深复制

    1 Java中对象的创建过程 java创建对象的方式有以下两种: (1)使用new操作符创建一个对象 (2)使用clone的方法复制一个对象,(在Java中,clone是Object类的protect ...

  3. 处理npm publish报错问题

    上传项目到npm-->为社会做贡献 首先你得有一个项目 npm init 生成package.json 来设置相信息 注册登录npm:npm adduser 输入你的一些信息 查看当前npm登录 ...

  4. 使用JSR-303进行校验

    package com.ieou.comac.module.web.dto.employee; import lombok.Data; import javax.validation.constrai ...

  5. 实验九 FBG 团队项目需求改进与系统设计

    任务一 A.<项目需求规格说明书>分析 根据老师的指导以及本周所学的OOA,分析改进上周编写的<项目需求规格说明书>,发现需求项目书UML图例描述不够完善,仅仅是用例图没办法更 ...

  6. Keepalive配置说明

    配置文件 [root@lb01 keepalived]# cat keepalived.conf ! Configuration File for keepalived global_defs { n ...

  7. 菜鸡学C语言之寻根溯源

    题目描述 Mogg最近翻了翻自己家的族谱,想康康祖先是谁.但是族谱因为年久失修太乱了,他现在只整理出来了一系列父子关系,你能帮他找一找直系亲属中辈分最大的一位吗?(即父亲的父亲的父亲……) 输入 第1 ...

  8. 初学Git命令

    初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 使用命令git add <file>,注意,可反复多次使用,添加多个文件: 使用命令git commit ...

  9. IPhone手机常用的一些连

    1.查看固件可下载链接. ipsw.me 2.查看手机型号(是global还是GSM). https://ipsw.me/device-finder 3.系统降级链接. https://jingyan ...

  10. python note 4

    1.使用命令行打开文件 t=open('D:\py\123.txt','r') t.read() 在python和很多程序语言中""转义符号,要想输出\要么多加一个\写成\ 要么在 ...