R048---UiPath中四种筛选数据的方法

本文介绍了在RPA工具UiPath中筛选数据的四种方法:Filter Data Table、DataTable.Select()、DataTable.AsEnumerable()以及LINQ过滤。分别解析了它们的使用步骤和适用场景,强调了代码实现筛选的优势,尤其是对于大量数据时的性能表现。

一、缘起

用RPA处理数据时,对数据进行筛选,是个基本操作,这里将4种方法逐一罗列,供不同场景下选用。

二、使用方法

  1. 方法1:用Filter Data Table,这种方法适合普通业务用户。

    拖拽该活动到编辑区,双击该活动,进入该活动内部,再点击Filter Wizard按钮,进入Filter Wizard界面:

    在Filter Wizard界面,可以设置筛选行(Filter Rows)或筛选列(Output Columns)。

    Input DataTable:需要被筛选的表变量名

    Output DataTable:筛选后的数据保存到的某表的biao变量名

    Keep:保留符合条件的数据/列,

    Remove:删除符合条件的数据/列。

  2. 方法2:DataTable.Select()方法,这种方法适合会写点代码的。

    这种方法是写代码实现筛选,语法:

    表变量名.Select("[列名]='条件值'").CopyToDataTable

    其中列名必须用中括号括起来,条件值如果是字符类,必须用英文单引号引起来。

    表名.Select的结果可以赋值给另外一个表变量:

    表变量名.Select的参数赋值有4种模式,这里使用的是第一种(见上图中的1 of 4),感兴趣的话,其他模式可以自己研究一下,这里不再赘述。

  3. 方法3:DataTable扩展方法DataTable.AsEnumerable()

    这种方法是写代码实现筛选,语法:

    表变量名.AsEnumerable().Where(Function(r)r("字段名").ToString="条件值").CopyToDataTable

    默认情况下,此方法返回IEnumerable类型,所以,如果把结果赋值给表,需要使用CopyToDataTable转换。

  4. 方法4:LINQ过滤

    那些熟悉C#或Visual Basic.NET(VB.NET)的人会喜欢使用此方法。默认情况下,这将返回IEnumerbale,但是正如我之前提到的,它可以转换为DataTable。语法:

    (From r In 表变量名.Select() Where r("字段名").Equals("条件值") Select r).CopyToDataTable

    这个语法的最后也是把结果转成了表类型,以便赋值给其他表变量,如果是赋值给IEnumerbale类型,就不用转换了。

三、总结

在对数据表使用扩展方法和LINQ时,上面的示例对于基本过滤而言非常简单。但是,您也可以使用此方法编写复杂的查询。在性能方面,这两个要快得多。

您将无法看到100条记录中的任何性能差异,但是如果您有10,000条以上的记录,您会注意到这两种方法的性能都不错。

-End-

觉得有启发,点个“在看”,转给朋友们

附1:关于本公众号

微信公众号名称:柴班说

欢迎转载与分享,也请注明出处。

长按二维码关注,一起在RPA的路上飞

附2:关于本文作者

微信号:chaijw

识别下面的二维码,可以与作者进行更为深入的交流。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值