12306泄露数据可视化分析
来源:互联网 发布:云计算java工程师招聘 编辑:程序博客网 时间:2024/06/02 13:35
昨天新开的坑。
131653条数据,来自2014年末泄露到网上的12306账号信息,包括邮箱(部分QQ邮箱),姓名,电话,用户名,密码,身份证号。
还在做数据的格式化存储……
10/14更新代码:
1、数据格式化存储
# -*- coding: gbk -*-#2016/10/13 13:30#12306泄露数据分析import csvcsvfile = file(r'D:\python27\py\loc.csv', 'rb')reader = csv.reader(csvfile)loc=[]for line in reader: loc.append(line)def findLoc(theId): num=0 for item in loc: if(loc[num][1]==theId): return loc[num][0] break else: num=num+1 #print 'Given id not found' return 0hk=0 count=0capital=0f=open(r'C:\Users\Administrator\Desktop\data.txt','r')csvfile = file('dat.csv', 'wb')hkcsvfile = file('hkdat.csv', 'wb')writer = csv.writer(csvfile)writer.writerow(['email_1','key','name','id','user_name','phone_number','email_2','birth','location','capital'])hkwriter = csv.writer(hkcsvfile)hkwriter.writerow(['email_1','key','name','id','user_name','phone_number','email_2','birth','location','capital'])alldata=[]hkdata=[]for line in f.readlines(): data=line.split('----') none=0 for st in data[3]: # print str(st)+' '+str(data[2]) if(st>'9'and st!='X'): none=1 #print st+' '+data[2] break #print 'none : '+str(none) if(none==1 or len(data[3])!=18): print data[3]+' '+data[2] pot=data[6].find('@') print data[6][pot+1:] hk=hk+1 data.append('unknown_birth') data.append('港澳台地区')#编码方式换成GBK就不会在这里乱码了 data.append(2) hkdata.append(data) hkwriter.writerow(data) #print 'none : '+str(none) continue else: #print 'check---------------------------------------------' data.append(data[3][6:14])#birth data.append(findLoc(data[3][:6]))#location if(data[3][2:4]=='01'):#capital data.append(1) capital=capital+1 else : data.append(0) #print data alldata.append(data)#在excel显示csv文件时,id字段后三位为0,实际数据没有变化,故忽略这个问题 #后面涉及到性别确定的时候再解决它 # print 'data: '+str(data) writer.writerow(data) count=count+1 if(count%1000==0): print 'count : '+str(count)#print 'alldata 5th : '+str(alldata[4])f.close()csvfile.close()hkcsvfile.close()print 'done'print 'data amount : '+str(count)print 'hongkong id amount : '+str(hk)#print 'capital amount : '+str(capital)
2、年龄分布统计
import csvcsvfile = file(r'D:\python27\py\datas.csv','rb')newcsv=file(r'D:\python27\py\newcsv.csv','wb')reader = csv.reader(csvfile)writer=csv.writer(newcsv)a=0data=[]for line in reader: level=line[7][:4] #print level #line.append(level) data.append(level) #writer.writerow(line)csvfile.close()newcsv.close()def count(datalist,item): num=0 for a in datalist: if(a==item): num=num+1 print num return numcountlist=[]for n in range(1940,2010,1): countlist.append([n,count(data,str(n))])print countlist
数据统计出来之前,昨晚立的flag:
今天简单用excel作了个图:
恩。先这样。
0 0
- 12306泄露数据可视化分析
- 数据分析-可视化数据分析
- 数据可视化工具分析
- 12306泄露数据分析(二)
- 数据分析之--可视化分析
- 【数据可视化】可视分析流程
- 数据分析-可视化挖掘读书笔记
- Spark-数据分析可视化Zeppelin
- Iris数据集可视化分析
- 可视化与多维数据分析
- 数据分析和可视化平台
- 【Matplotlib】数据可视化实例分析
- Spotfire数据可视化分析-CSDN文章分析
- python数据分析之数据可视化matplotlib
- 数据分析和数据可视化(第一讲)
- 数据可视化≠数据分析 切莫本末倒置
- python数据分析(数据可视化)
- 电影演员合作关系可视化(二)数据分析与可视化
- 简单算法之素数筛法
- android中使用自定义字体以及图标字体
- Caffe学习系列(2):数据层及参数
- HDU2149:Public Sale(巴什博弈)
- Leetcode 415. Add Strings (Easy) (cpp)
- 12306泄露数据可视化分析
- bootstrap Less
- js 面试的坑(四)
- 上帝视角——我是一个线程
- hdu 2188 悼念512汶川大地震遇难同胞——选拔志愿者
- JavaScriptES6语法小结
- 通过Intent传递对象的另类方法
- genymotion 日志文件报错 object is not found
- 程序员在上海之三