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 Plumbum 簡介:用 Python 來寫指令碼Python指令碼
- linuxshell程式設計實戰-編寫簡單的指令碼實用工具Linux程式設計指令碼
- 利用 Powershell 編寫簡單的瀏覽器指令碼瀏覽器指令碼
- Elasticsearch 指令碼分組Elasticsearch指令碼
- 基於python編寫一個簡單的多執行緒埠掃描指令碼Python執行緒指令碼
- 手把手教你編寫最簡單的效能指令碼指令碼
- 小白也能操作Linux,十分鐘教你簡單的shell指令碼編寫邊學邊用Linux指令碼
- Python編寫一個簡單計算器Python
- 簡單的 Shell 指令碼入門教程指令碼
- redis中lua指令碼的簡單使用Redis指令碼
- Python單例的一種簡單寫法Python單例
- 2 個簡單的 python 指令碼,連線 MySQL 和讀取 ExcelPython指令碼MySqlExcel
- Python編寫簡單的學生資訊管理系統Python
- MySQL密碼加密認證的簡單指令碼MySql密碼加密指令碼
- python寫的指令碼在kail Linux 執行Python指令碼AILinux
- Python的pandas的Dataframe使用groupby分組並求每組的統計值Python
- python指令碼開頭怎麼寫Python指令碼
- 測試平臺系列(95) 前置條件支援簡單的python指令碼Python指令碼
- python中的itertools模組簡單使用Python
- 簡單的快捷指令
- python inspect模組簡單使用Python
- python指令碼簡化jar操作命令Python指令碼JAR
- mongodb分組統計MongoDB
- 今天寫了一個統計執行sql次數的指令碼SQL指令碼
- 寫python指令碼遇到的些許小問題Python指令碼
- Linux之rsync同步分發指令碼編寫.Linux指令碼
- 編寫簡單的Java程式碼:HelloWoridJava
- 【Node】簡單快捷的圖片壓縮指令碼指令碼
- 簡單易懂的XSS(跨站指令碼攻擊)指令碼
- elasticsearch實現簡單的指令碼排序(script sort)Elasticsearch指令碼排序
- 如何寫一個簡單的分頁元件(原理)元件
- 簡單介紹python程式設計之檔案讀寫Python程式設計
- Shell:如何寫一個多選選單的指令碼指令碼
- tp寫簡單無限極分類
- 簡單介紹python process模組Python
- 計算機組成原理名詞指令縮寫計算機
- 統計記憶體使用率百分比的指令碼記憶體指令碼
- 透過程式碼例項簡單瞭解Python sys模組Python