由于现在移动设备厂商多,机型多,为了测试兼容性,导致测试的设备也多。如何管理好测试设备,也是有学问的。
很多公司,会买很多测试设备来测试兼容性。有的设备是共享的,有人借走设备没有及时归还。
或者设备需要系统更新升级,淘汰老设备,购置新设备等,都需要有人去管理。怎么能高效的管理设备?
首先我们来认识一个python数据分析的利器:pandas
Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。
pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
pandas很方便的从一个csv,excel文件,或者一个web,一个数据库,捞到这样一张表。
无论是存储在excel,还是存储在数据库,展示在web page上。我们可以通过爬虫等方法,得到一个这样的表。
对pandas来说,就是一个二维的数组。
- 读写csv,excel
pd.to_csv("devices_tablet.csv")
pd.read_csv("devices_tablet.csv")
pd.to_excel()
pd.read_excel()
- 从网页的表中捞数据(前提是网页中需要有表结构)
比爬虫方便多了。
pd.read_html()
- 从数据库中捞数据。
pd.to_sql()
pd.read_sql()
假设我们有个这样的设备列表。记录在conflunce上的,使用起来方便,有改动记录,提醒,账号等各方面功能。
好了,我们可以捞到这张表。
result = requests.Session().get(CONFLUENCE_DEVICE_TRACKING_URL, verify=False).content
table = pd.read_html(result)
android_device = table[0]
然后按照某些关键字,存储到文件中去:
phone_device = android_device[android_device[4] == 'Tablet']
phone_device.to_csv("devices_tablet.csv")
按照某些行列,就可以得到我们想要的数据。
如我想知道品牌,和版本:
print(phone_device.groupby(5).size())
print(phone_device.groupby(1).size())
结果类似这样的:
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()
结果如下:
轻轻松松的就统计出来了。
根据统计,就可以升级,淘汰,购买设备了。
当然,还可以加段代码,定义一个规则,借出的设备,超过多长时间,自动发邮件提醒。
更多精彩,请关注微信公众号: python爱好部落