Python爬虫(urllib2+bs4)+分析找出谁是水贴王(2)--数据分析

来源:互联网 发布:广电网络个人工作总结 编辑:程序博客网 时间:2024/06/03 21:50

使用前面的数据查找谁是发帖最多的人。
谁是”水贴王”文章:http://blog.csdn.net/u011039332/article/details/47426643

读取csv文件,将作者一行写入列表:

import csvfrom collections import Counterlist=[]csvfile = file('tiezi.csv', 'rb')reader = csv.reader(csvfile)for line in reader:    #print line[3]    list.append(line[3])csvfile.close()

使用Counter函数统计词频,输出字典,不排序

from collections import Counter#统计词频 但不排序dict=Counter(list)

对字典排序:sorted函数

list2=sorted(dict.iteritems(),key=lambda asd:asd[1],reverse=True)

sorted函数参数:
sorted(iterable[,cmp,[,key[,reverse=True]]])
作用:Return a new sorted list from the items in iterable.
第一个参数是一个iterable,返回值是一个对iterable中元素进行排序后的列表(list)。
可选的参数有三个,cmp、key和reverse。
1)cmp指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个负数;如果第一个参数等于第二个参数,返回零;如果第一个参数大于第二个参数,返回一个正数。默认值为None。
2)key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None。
3)reverse是一个布尔值。如果设置为True,列表元素将被倒序排列。
通常来说,key和reverse比一个等价的cmp函数处理速度要快。这是因为对于每个列表元素,cmp都会被调用多次,而key和reverse只被调用一次。

返回一个list:输出

for val in list2:    print val[0],val[1]

这里写图片描述

分析得出:发帖最多红颜知己840

0 0
原创粉丝点击