python寫的簡單分組統計指令碼
訪問日誌內容:
'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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 怎麼用python寫簡單的遊戲指令碼?Python遊戲指令碼
- python編寫的簡單的mysql巡檢指令碼PythonMySql指令碼
- 【python】簡單的備份指令碼Python指令碼
- Elasticsearch 指令碼分組Elasticsearch指令碼
- 【python】簡單的備份指令碼2Python指令碼
- 利用 Powershell 編寫簡單的瀏覽器指令碼瀏覽器指令碼
- Python Plumbum 簡介:用 Python 來寫指令碼Python指令碼
- 無聊寫的簡單用PLSQL分割字串的指令碼SQL字串指令碼
- 編寫shell指令碼實現統計一個小組的成績情況,統計資訊包括:總分,平均分,最高分...指令碼
- 用Python寫一個簡單的中文分詞器Python中文分詞
- linuxshell程式設計實戰-編寫簡單的指令碼實用工具Linux程式設計指令碼
- 手把手教你編寫最簡單的效能指令碼指令碼
- 編寫簡單的windows bat批處理指令碼檔案WindowsBAT指令碼
- 一個非常簡單易懂的WIFI密碼爆破python指令碼WiFi密碼Python指令碼
- 基於python編寫一個簡單的多執行緒埠掃描指令碼Python執行緒指令碼
- mysql簡單的碎片清理指令碼MySql指令碼
- 簡單的FTP Donwload 指令碼FTP指令碼
- 【SQL】【遷移】寫了一個簡單的sequence遷移指令碼SQL指令碼
- mongodb分組統計MongoDB
- python資料統計,分組的一些小技巧Python
- Python的pandas的Dataframe使用groupby分組並求每組的統計值Python
- Python編寫簡單的學生資訊管理系統Python
- python核心程式設計:web伺服器日誌分析簡單指令碼Python程式設計Web伺服器指令碼
- Python編寫一個簡單計算器Python
- 小白也能操作Linux,十分鐘教你簡單的shell指令碼編寫邊學邊用Linux指令碼
- [20150821]簡單編寫解除阻塞的指令碼.txt指令碼
- 簡單的 Shell 指令碼入門教程指令碼
- redis中lua指令碼的簡單使用Redis指令碼
- Python單例的一種簡單寫法Python單例
- MySQL密碼加密認證的簡單指令碼MySql密碼加密指令碼
- 最簡單的一個powershell的指令碼指令碼
- 簡單的Repeater分頁程式碼
- 2 個簡單的 python 指令碼,連線 MySQL 和讀取 ExcelPython指令碼MySqlExcel
- 一個簡單的python指令碼:從給出的svnurl取出檔案Python指令碼
- 簡單的備份資料庫指令碼資料庫指令碼
- 如何寫一個簡單的分頁元件(原理)元件
- python編寫簡單的setup.pyPython
- C編寫的簡單密碼程式密碼