由于現(xiàn)在移動(dòng)設(shè)備廠商多乖寒,機(jī)型多猴蹂,為了測(cè)試兼容性,導(dǎo)致測(cè)試的設(shè)備也多楣嘁。如何管理好測(cè)試設(shè)備磅轻,也是有學(xué)問(wèn)的。
很多公司逐虚,會(huì)買很多測(cè)試設(shè)備來(lái)測(cè)試兼容性聋溜。有的設(shè)備是共享的,有人借走設(shè)備沒(méi)有及時(shí)歸還叭爱。
或者設(shè)備需要系統(tǒng)更新升級(jí)撮躁,淘汰老設(shè)備,購(gòu)置新設(shè)備等买雾,都需要有人去管理把曼。怎么能高效的管理設(shè)備?
首先我們來(lái)認(rèn)識(shí)一個(gè)python數(shù)據(jù)分析的利器:pandas
Pandas最初被作為金融數(shù)據(jù)分析工具而開發(fā)出來(lái)漓穿,因此嗤军,pandas為時(shí)間序列分析提供了很好的支持。 Pandas的名稱來(lái)自于面板數(shù)據(jù)(panel data)和python數(shù)據(jù)分析(data analysis)晃危。
pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法叙赚。
pandas很方便的從一個(gè)csv,excel文件,或者一個(gè)web山害,一個(gè)數(shù)據(jù)庫(kù)纠俭,撈到這樣一張表。
無(wú)論是存儲(chǔ)在excel,還是存儲(chǔ)在數(shù)據(jù)庫(kù)浪慌,展示在web page上冤荆。我們可以通過(guò)爬蟲等方法,得到一個(gè)這樣的表权纤。
對(duì)pandas來(lái)說(shuō)钓简,就是一個(gè)二維的數(shù)組乌妒。
- 讀寫csv,excel
pd.to_csv("devices_tablet.csv")
pd.read_csv("devices_tablet.csv")
pd.to_excel()
pd.read_excel()
- 從網(wǎng)頁(yè)的表中撈數(shù)據(jù)(前提是網(wǎng)頁(yè)中需要有表結(jié)構(gòu))
比爬蟲方便多了。
pd.read_html()
- 從數(shù)據(jù)庫(kù)中撈數(shù)據(jù)外邓。
pd.to_sql()
pd.read_sql()
假設(shè)我們有個(gè)這樣的設(shè)備列表撤蚊。記錄在conflunce上的,使用起來(lái)方便损话,有改動(dòng)記錄侦啸,提醒,賬號(hào)等各方面功能丧枪。
好了光涂,我們可以撈到這張表。
result = requests.Session().get(CONFLUENCE_DEVICE_TRACKING_URL, verify=False).content
table = pd.read_html(result)
android_device = table[0]
然后按照某些關(guān)鍵字拧烦,存儲(chǔ)到文件中去:
phone_device = android_device[android_device[4] == 'Tablet']
phone_device.to_csv("devices_tablet.csv")
按照某些行列忘闻,就可以得到我們想要的數(shù)據(jù)。
如我想知道品牌恋博,和版本:
print(phone_device.groupby(5).size())
print(phone_device.groupby(1).size())
結(jié)果類似這樣的:
Android 4.0.4 1
Android 4.1.2 6
Android 4.3.0 1
Android 4.4.4 1
Android 5.0 1
Android 5.1.1 2
Android 6.0.1 1
Android 7.1.1 1
一段代碼齐佳,就可以畫成圖表:
sum_df = phone_device.groupby(5).size()
sum_df.plot(kind='pie', subplots=True, autopct='%.2f', figsize=(8, 8), title = "Versions", legend = True) # 顯示百分比
plt.show()
結(jié)果如下:
輕輕松松的就統(tǒng)計(jì)出來(lái)了。
根據(jù)統(tǒng)計(jì)债沮,就可以升級(jí)炼吴,淘汰,購(gòu)買設(shè)備了疫衩。
當(dāng)然缺厉,還可以加段代碼,定義一個(gè)規(guī)則隧土,借出的設(shè)備,超過(guò)多長(zhǎng)時(shí)間命爬,自動(dòng)發(fā)郵件提醒曹傀。
更多精彩,請(qǐng)關(guān)注微信公眾號(hào): python愛(ài)好部落