前几天,收到老板的一个需求,需要把从数据库导出来的excel文件中“审核未通过原因”这一列作一个统计,统计未通过原因出现的次数,因为数据量比较庞大,我就想着能否用robot框架去做,网上一搜,果然有这个库:ExcelLibrary,这个库支持对excel文件进行处理。
首先,引入ExcelLibrary库,操作Excel文件
安装命令 pip install robotframework-excellibrary
安装导入完成之后,我用f5命令大概看了一下常用的一些关键字:
Open Excel打开Excel文件
Get Row Count获取行数
Get Column Count获取列数
Get Row Values获取某一行的值
Get Column Values获取某一列的值
Read Cell Data By Coordinates通过列行编号获取值
Read Cell Data By Name按名称读取单元格数据
也看了一下这个library的官方文档,有一些注意事项:
1.只支持xls格式的Excel文档
2.Excel表格中的数值,代码读取后会显示为浮点型
如123,读取后显示为123.00,造成传参不一致
解决方案:设置单元格格式---->文本
3.读取每行或每列数据,存储到list变量中,是一个二维数组
如(A1,123)(B1,张三)
4.数组的位置编号都是从0开始的
好啦,现在我们开始来完成,老板提的需求了
首先我们要打开这个excel文件,并获取这一列的信息:
获取获取列信息后,我们看到,我们获取到的信息是一个二维数组,它不仅包含了我们需要的信息,还包含了我们不需要的坐标信息,这样就加大了我们统计的难度。
那么,接下来我们要做的,就是把二维数组转变为一维数组,框架库里面没有合适的关键字,这时我们用强大的Evaluate关键字,这是一个内置的关键字,为什么说它很强大呢?当框架里面没有合适封装的关键字时,我们可以用这个关键字执行python底层代码并返回结果:
结果如下:
这样,二维数组就变成了一维数组,接下来,我们就要统计这个数组里面相同元素,以字典dict形式返回元素和数量
这个地方由于没有合适的关键字,我自定义了一个函数,来统计数组里面相同元素的个数
这样就大功告成啦!!!
当然,这个库还有很多其他的功能,比如说将获取到的数据,存入到excel文件并保存等等,这些功能在以后慢慢探索吧!
觉得好的请点个赞,谢谢!
一个不羁的测试
我还只是个菜鸟!
领取专属 10元无门槛券
私享最新 技术干货