用Python統計600W+的sql文件

用python寫了一個統計用戶資料sql文件中的所用的郵箱的數量,總數600W+,算上屏幕輸出共耗時5min+:

 

from __future__ import division
from operator import itemgetter

sql = open("www.csdn.net.sql","r+")
d = {}
iCount = 0
for eachLine in sql :
    line_list = eachLine.strip().split(" # ")
    e_address = line_list[2]
    if "@" in e_address :
        e_domain = e_address.split("@")[1]
    else :
        e_domain = e_address
    #print e_domain
    if e_domain not in d :
        d[e_domain] = 1
        iCount += 1
    else :
        d[e_domain] += 1
        iCount += 1
print "*" * 80
print "Sum:",str(iCount)
print "*" * 80
l = sorted(d.iteritems(), key=itemgetter(1),reverse=True) # 據說這種對字典值的排序方法效率最高
for eachItem in l :
    print eachItem,str(((int(eachItem[1]))/iCount) * 100.0)+"%"

另外,發現了一個不錯的網站,叫OSChina(http://www.oschina.net/),是一個跟開源有關的網站,有很多優秀的成熟的源代碼,讀讀肯定會自己的能力的提高有好處的。

另:Python排序參考:

 http://www.cnblogs.com/itech/archive/2011/12/27/2303740.html

http://zuroc.42qu.com/10037539

統計結果截圖:

 

 

 

 

發佈了52 篇原創文章 · 獲贊 63 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章