UiBot中数据处理的方法

在当今信息化的世界里,数据已经成为我们日常工作中不可或缺的一部分。而如何高效地获取、整理、分析这些数据,就是很多人都面临的一个挑战。对于那些常常使用RPA(机器人流程自动化)的人来说,数据的处理能力更是至关重要的。那么,今天就让我来带你看看UiBot如何在数据处理中大显身手吧。

一旦数据被成功读取,接下来就是进行各种处理。UiBot根据数据格式的不同,提供了多种数据处理方法与命令,比如数据表、字符串、集合、数组、时间以及正则表达式等。接下来,我们将逐一介绍这些方法。

数组

在前面的内容中,我们学习了使用数组存储多个数据。UiBot提供了一系列针对数组的命令,帮助我们进行各种操作,比如数组编辑(添加元素、删除元素、合并数组)以及获取数组信息(长度、下标等)。比如,在流程创造者的命令列表中,可以找到“数据处理”下的“数组”分类,选择并插入“在数组尾部添加元素”命令。这条命令允许我们在数组末尾添加一个元素。

举个例子:假设我们有一个数组["1", "2"],需要在末尾添加元素"3"。命令的三个属性分别是:“目标数组”填写当前数组;“添加元素”填写待添加的元素;“输出到”则是保存添加后的数组变量。执行后,使用“输出调试信息”命令查看结果,输出应该是["1", "2", "3"]

rpa_tutorial_uibot_advance_data_processing_1

再来看“过滤数组数据”命令,这条命令可以根据条件筛选数组中的元素。设定“目标数组”为["12", "23", "34"],“过滤内容”填写"2",即只保留包含"2"的元素。“保留过滤文字”选“是”时,输出结果为["12", "23"];选“否”时,输出结果为["34"],即剔除包含"2"的元素。

rpa_tutorial_uibot_advance_data_processing_2

集合

集合是一种特殊的一维数组,与数组的区别主要在于:集合不允许元素重复,且元素无序。例如,数组[1, 2, 2, 3]在转换为集合时会变为{1, 2, 3},去除了重复的2

首先,我们尝试创建一个集合。在命令列表中选择“数据处理”下的“集合”分类,插入“创建集合”命令,这条命令将创建一个空集合并存储在ObjSet变量中。然后,可以用“添加元素到集合”命令往集合中插入元素,集合允许同时包含数字和字符串元素。

如果我们有多个集合,还可以计算它们的交集或并集。例如,构建两个集合{1, "2"}{"1", "2"},使用“取并集”命令后,结果为{1, "1", "2"}

    
ObjSet=Set.Create()
Set.Add(ObjSet,1)
Set.Add(ObjSet,"2")
TracePrint(objSet)

ObjSet2=Set.Create()
Set.Add(ObjSet2,"1")
Set.Add(ObjSet2,"2")

objSetRet = Set.Union(ObjSet,ObjSet2)
TracePrint(objSetRet)

集合可转换为数组,UiBot提供了相应命令供读者自行练习。

数据表

数据表类似于二维数组,但功能更丰富,可以包含表头并进行排序、过滤等操作。构建数据表时,选择“数据处理”下的“数据表”命令,设定表头为["姓名", "科目", "分数"],数据为[["张三", "语文", "78"],["张三", "英语", "81"],["张三", "数学", "75"],["李四", "语文", "88"],["李四", "英语", "84"],["李四", "数学", "65"]]

rpa_tutorial_uibot_advance_data_processing_3

数据表构建完成后,可以进行排序和筛选操作。比如按“科目”排序,使用“数据表排序”命令设定“排序列”为"科目",选择“升序排序”。输出如下:

| 序号 | 姓名 | 科目 | 分数 |
| ---- | ---- | ---- | ---- |
| 2 | 张三 | 数学 | 75 |
| 5 | 李四 | 数学 | 65 |
| 1 | 张三 | 英语 | 81 |
| 4 | 李四 | 英语 | 84 |
| 0 | 张三 | 语文 | 78 |
| 3 | 李四 | 语文 | 88 |

通过“数据筛选”命令,筛选出科目为“语文”的记录,结果如下:

| 序号 | 姓名 | 科目 | 分数 |
| ---- | ---- | ---- | ---- |
| 0 | 张三 | 语文 | 78 |
| 3 | 李四 | 语文 | 88 |

数据表还可转换为二维数组,供读者自行尝试。

字符串

字符串是最常用的数据类型之一。常见的字符串操作有“查找字符串”和“分割字符串”。

  • 查找字符串:查找目标字符串中是否存在指定字符。比如,目标字符串为"abcdefghijklmn",查找字符为"cd",结果为3(表示"cd"位于第3位)。

    rpa_tutorial_uibot_advance_data_processing_4

  • 分割字符串:使用分隔符将字符串分割为数组。示例:将"zhangsan|lisi|wangwu""|"分割,结果为["zhangsan", "lisi", "wangwu"]

    rpa_tutorial_uibot_advance_data_processing_5

正则表达式

正则表达式用于匹配复杂字符串模式,广泛应用于数据查找和验证。

  • 正则表达式查找测试:用于验证字符串是否符合特定规则。比如,用户名规则为^[a-zA-Z0-9_-]{4,16}$,测试字符串"abc_def",结果为True

    rpa_tutorial_uibot_advance_data_processing_6

  • 正则表达式查找全部:从目标字符串中查找所有符合规则的子串。示例:从网页中提取所有URL链接。

        
    arrRet = [
        "https://avatar.csdn.net/A/4/C/3.jpg",
        "https://g.csdnimg.cn/static/1x/11.png"
    ]
    

JSON

JSON是一种轻量级的数据交换格式,与XML相比,JSON更小、更快且易解析。UiBot提供了JSON与数组、字典之间的转换命令。

  • JSON字符串转换为数据:将JSON字符串转换为UiBot中的数组或字典。示例:{ "姓名": "张三", "年龄": "26" }转换为字典对象。

    rpa_tutorial_uibot_advance_data_processing_7

可以通过objJSON["姓名"]访问字典中的值。可以通过“数据转换为JSON字符串”命令将字典转换回JSON字符串。

时间

UiBot时间操作命令包括获取当前时间、格式化时间、获取时间分项等。

  • 获取当前时间:获取从1900年1月1日起至今的天数,输出为类似43771.843969907的数字。

  • 格式化时间:将时间数据转换为可读的字符串格式。设定格式"yyyy-mm-dd hh:mm:ss",输出"2019-11-02 20:29:58"

    rpa_tutorial_uibot_advance_data_processing_8

此外,还可以获取特定时间元素,如月份、日期等。

数据处理在RPA流程中扮演了关键角色。通过掌握这些方法,我们可以更高效地处理各种数据,提升流程的自动化程度。如果你希望优化自己的数据处理能力,这些方法是不可或缺的。试着将这些方法应用到你的RPA项目中,相信你会感受到效率上的显著提升!

阅读全文
AI工具教程
免费领取AI学习资料 进AI副业交流群
礼物
AI工具教程
免费领取AI学习资料 进AI副业交流群