今天讲解UiBot中关于里面数据处理的一些使用。

来也科技智能自动化平台-助力政企实现智能时代的人机协同

为什么讲数据处理呢?是因为在SAP流程自动化中,或者客户做信息配置表的时候,发现有些对数据处理可能认识比较少的RPA工程师,在数据量非常大的情况下,依然去循环Excel里面的单元格数据,来做批量处理。

这样做的后果是,在数据量非常大的情况下,速度会很慢(相当于单调回归),而如果放在数组或者字典(唯一性)中做批量处理,那么速度至少提高十倍以上

数组

假如我们想从Excel中取出数量不固定的若干个银行账户,并把它放在数组里面,进行循环处理。

第一步:打开Excel

打开之前 ,先配置文件路径 。这个文件路径需要灵活处理,就像我之前讲信息配置表的处理一样,获取桌面文件存放的路径。(UiBot可视化视图

来也科技智能自动化平台-助力政企实现智能时代的人机协同

第二步:获取好路径以后,配置文件完整路径。

来也科技智能自动化平台-助力政企实现智能时代的人机协同

这样就得到一个,不会因为更换电脑,再修改文件路径的灵活路径了。

第三步:打开Excel,去获取账户信息所在的列,放在数组中。

来也科技智能自动化平台-助力政企实现智能时代的人机协同

第四步:需要通过UiBot控件中数组的过滤功能,去掉列名。

来也科技智能自动化平台-助力政企实现智能时代的人机协同

这样就得到一个纯银行账号的数组,去对数组进行循环处理就OK了。

UiBot源码视图

========Start========

dim sRet = ""

dim temp = ""

sRet = Sys.GetSystemPath("desktop")

dim 文件路径

dim objExcelWorkBook = ""

dim arrayRet = ""

dim arrRet = ""

TracePrint(sRet)

temp = "\\UiBot学习指南\\RPA_Config.xlsx"

文件路径=sRet&temp

TracePrint(文件路径)

objExcelWorkBook = Excel.OpenExcel(文件路径,true)

arrayRet = Excel.ReadColumn(objExcelWorkBook,"Sheet1","A1")

TracePrint(arrayRet)

arrRet = Filter(arrayRet,"银行账号",false)

TracePrint(arrRet)

========End========

然后再说另一种数据处理。

有一些工程师在从外部获取大量数据存放在Excel里面的时候,通常喜欢在循环的时候,把数据一个一个放入单元格里面,这个问题和上面说的一样,速度效率会变得极低。

请看以下处理。

来也科技智能自动化平台-助力政企实现智能时代的人机协同

首先定义一个数组,给他赋值一个需要的列名。

然后循环处理把需要的数据依次赋给它。

最后再把数组一次性储存在Excel里面就OK了。

来也科技智能自动化平台-助力政企实现智能时代的人机协同

(UiBot源码视图

========Start========

dim 数组

dim objExcelWorkBook = ""

数组=["序号"]

For i=2 To 10

数组[i]=i

Next

TracePrint(数组)

objExcelWorkBook=Excel.OpenExcel("C:\\Users\\Pande\\Desktop\\UiBot学习指南\\RPA_Config.xlsx",true)

Excel.WriteColumn(objExcelWorkBook,"Sheet1","B1",数组,false)

========End========

特别说明

UiBot控件中读取列,在对数据进行读取的时候,根本不用顾及最后一个数据在第几行,直接写那一列的第一个单元格就行,比如"A1",获取出来的数组,没有空元素,直接就是整列有数据的。

来也科技智能自动化平台-助力政企实现智能时代的人机协同