waq1012030438 发表于 2014-10-23 09:27

使用python统计求和

文件如下:
log:
2014 1 189mail
2014 2 189mail
2014 2 reader
2014 1 cloud
2014 2 cloud
2014 3 189mail

最后想得到一个文件,文件内容为:
189mail 3
reader 1
cloud 2

即就是按第三列统计

才开始学习python,望大神指点,不胜感激啊~~~~

whitelotus19 发表于 2014-10-23 09:49

from collections import Counter

text='''
    2014 1 189mail
    2014 2 189mail
    2014 2 reader
    2014 1 cloud
    2014 2 cloud
    2014 3 189mail
      '''
v1= for x in text.strip().split('\n')]
for k,v in Counter(v1).items():
    print k,v这样试试看

waq1012030438 发表于 2014-10-23 09:57

不行啊,我试了一下,加载模块出错了:
Traceback (most recent call last):
File "test.py", line 3, in <module>
    from collections import Counter
ImportError: cannot import name Counter
回复 2# whitelotus19


   

waq1012030438 发表于 2014-10-23 10:44

55555~~还是没有人回复啊,求大神指点...:em29:

whitelotus19 发表于 2014-10-23 10:50

我试了下,python2.7/3.2都可以导入啊,不知道你的是什么版本

whitelotus19 发表于 2014-10-23 10:50

我试了下,python2.7/3.2都可以导入啊,不知道你的是什么版本

waq1012030438 发表于 2014-10-23 10:58

我的是2.6的回复 6# whitelotus19


   

whitelotus19 发表于 2014-10-23 11:08

本帖最后由 whitelotus19 于 2014-10-23 11:09 编辑

回复 7# waq1012030438


我机器上没有2.6的,文档也没有,不太清楚了。
你可以看看这个帖子,也有别的很多方法,效率上有些差别。
http://stackoverflow.com/questions/2600191/how-can-i-count-the-occurrences-of-a-list-item-in-python   

whitelotus19 发表于 2014-10-23 11:30

本帖最后由 whitelotus19 于 2014-10-23 11:31 编辑

好像2.6是没有:-L
貌似可以用这里给的链接的方法
http://stackoverflow.com/questions/13311094/counter-in-collections-module-python
http://code.activestate.com/recipes/576611-counter-class/

zongg 发表于 2014-10-23 11:40

Counter:字典的子类,用于统计哈希对象。python 2.7新增
页: [1] 2
查看完整版本: 使用python统计求和