概述
访问日志内容:
'asdfasd'|2222|'asdfasdf'|{'phone':'13511020335','name':'lsq','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13511020335','name':'lsq','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13810210010','name':'llj','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'18900102987','name':'ljk','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13810210010','name':'llj','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13511020335','name':'lsq','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13511020335','name':'lsq','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13511020335','name':'lsq','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'18900102987','name':'ljk','address':'asdfasdfasdfasf'}
统计需求:按电话和用户名来统计访问次数
可以用三种方法:
### 1. collections Counter
from collections import Counter
l = []
for s in open('a.txt'):
d = eval(s.split('|')[-1].strip())
l.append(d['phone']+ '||' + d['name'])
Counter(l)
Counter({'13511020335||lsq': 5, '18900102987||ljk': 2, '13810210010||llj': 2})
### 2.list.count
l = []
for s in open('a.txt'):
d = eval(s.split('|')[-1].strip())
l.append(d['phone']+ '||' + d['name'])
a = {}
for i in l:
if l.count(i)>=1:
a[i] = l.count(i)
print a
>>> print a
{'18900102987||ljk': 2, '13810210010||llj': 2, '13511020335||lsq': 5}
### 3.dict in
dr = {}
for s in open('a.txt'):
d = eval(s.split('|')[-1].strip())
k_dr = d['phone']+ "||" + d['name']
if k_dr in dr:
dr[k_dr] = dr[k_dr] + 1
else:
dr[k_dr] = 1
>>> print dr
{'18900102987||ljk': 2, '13810210010||llj': 2, '13511020335||lsq': 5}
'asdfasd'|2222|'asdfasdf'|{'phone':'13511020335','name':'lsq','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13511020335','name':'lsq','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13810210010','name':'llj','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'18900102987','name':'ljk','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13810210010','name':'llj','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13511020335','name':'lsq','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13511020335','name':'lsq','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'13511020335','name':'lsq','address':'asdfasdfasdfasf'}
'asdfasd'|2222|'asdfasdf'|{'phone':'18900102987','name':'ljk','address':'asdfasdfasdfasf'}
统计需求:按电话和用户名来统计访问次数
可以用三种方法:
### 1. collections Counter
from collections import Counter
l = []
for s in open('a.txt'):
d = eval(s.split('|')[-1].strip())
l.append(d['phone']+ '||' + d['name'])
Counter(l)
Counter({'13511020335||lsq': 5, '18900102987||ljk': 2, '13810210010||llj': 2})
### 2.list.count
l = []
for s in open('a.txt'):
d = eval(s.split('|')[-1].strip())
l.append(d['phone']+ '||' + d['name'])
a = {}
for i in l:
if l.count(i)>=1:
a[i] = l.count(i)
print a
>>> print a
{'18900102987||ljk': 2, '13810210010||llj': 2, '13511020335||lsq': 5}
### 3.dict in
dr = {}
for s in open('a.txt'):
d = eval(s.split('|')[-1].strip())
k_dr = d['phone']+ "||" + d['name']
if k_dr in dr:
dr[k_dr] = dr[k_dr] + 1
else:
dr[k_dr] = 1
>>> print dr
{'18900102987||ljk': 2, '13810210010||llj': 2, '13511020335||lsq': 5}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10972173/viewspace-2062806/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10972173/viewspace-2062806/
最后
以上就是呆萌树叶为你收集整理的python写的简单分组统计脚本的全部内容,希望文章能够帮你解决python写的简单分组统计脚本所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复