UiPath中DataTable之Filter Data Table

想不想用RPA工具帮你实现在淘宝自动查找商品,将查找到的商品按照你定制的喜好/价格/品牌做筛选,最后将筛选完的资料发送给你供下单参考?听上去像是一个超级小助理哦,这些功能UiPath都可以实现,这也算UiPath的一个实际应用案例了,有兴趣可以操练起来啦。

第一部用Type into键入想要的物品名称,然后Data Scraping获取商品名称/淘宝店铺/链接/价格等,然后就落入今天的主题啦,数据表的筛选处理。UiPath中可以对数据表进行处理,同样有筛选的activity,即Filter Data Table,它是从2018.2版本之后才有的,版本落后的同学不要着急,没有Filter Data Table也可以用For each row + Remove Data Row或Add Data Row实现条件筛选功能。

今天着重讲一下Filter Data Table怎么用。首先举个栗子,做一个简单的数据表如下:

UiPath中DataTable之Filter Data Table_第1张图片

发现我是一个吃货了对吧,举了一个买零食的栗子。以上是淘宝“食品”类目下的“零食大礼包”子分类中排名靠前的6种零食包。想要用UiPath实现数据的筛选功能,设定如下不同的几个筛选条件:

只买良品铺子的

不买良品铺子的

不买包含“大礼包”的,因为通常会夹带部分不喜欢吃的

排除价格100元以上的,毕竟是零食,不能太奢侈

依照以上条件,我们来分别看一下如何用Filter Data Table实现想要的功能。当然先要将表格用UiPath读成DataTable,然后才能对DataTable进行数据处理。做法如下:

UiPath中DataTable之Filter Data Table_第2张图片

两种Read Range都可以,具体使用差异,以后有时间再细细讲,不是今天的重点。笔者更偏好后者,界面简单,但某些情况下由只能用excel-Read Range处理,暂且按下不表。

读到数据之后要对数据表做变量定义,变量类型为Datatable,如下:

UiPath中DataTable之Filter Data Table_第3张图片

接下来我们加入activity“Filter Data Table”,并依据“1.只买良品铺子的”为条件,对Filter Wizard进行定义:

UiPath中DataTable之Filter Data Table_第4张图片

Input DataTable:输入被筛选的DataTable

Output DataTable:输入筛选后保存为的DataTable

Keep:将符合筛选条件的row保存下来

Remove:将符合筛选条件的row从DataTable中移除

所以“品牌”中符合“良品铺子”条件的,会被保存至FilterPriceDate。产出结果如下:

UiPath中DataTable之Filter Data Table_第5张图片

Output data table:将DateTable内容写出来(Datatable转为String类型)

Write line:将变量写出至Output面板

如何进行第二个筛选呢“2. 不买良品铺子的”,很简单,将“Keep”改为“Remove”就可以啦:

UiPath中DataTable之Filter Data Table_第6张图片

接着终于进行到了第三个选择“3. 不买包含“大礼包”的”,与以上方法类似,只是Filter条件不是简单的“=”,需要改成Does not Contain,如下:

UiPath中DataTable之Filter Data Table_第7张图片

最后一个条件有点不太一样,是需要对数字进行判断的“4. 排除价格100元以上的”,如果直接使用,会提示以下错误:

“Object must be of type Double”这是因为UiPath默认它为文字类型了,笔者试着用For each row将“价格”这一列转换为double类型,结果到了filter data table时还是会报同样的错误。

UiPath中DataTable之Filter Data Table_第8张图片

怎么办呢,难道不能对数字进行筛选了吗?

答案:可以对数字进行筛选。同样简单粗暴的解决方法如下:

UiPath中DataTable之Filter Data Table_第9张图片

有发现不同吗?

其实是将100改成了100.0,然后UiPath似乎就凭借这个把这一列认为是数字类型了。这是笔者到现在也没理解UiPath设计者思路的地方,有人想明白了记得公众号留言告诉我,让我解开这个谜团吧,我会感激你哒。

UiPath中DataTable之Filter Data Table_第10张图片

你可能感兴趣的:(UiPath中DataTable之Filter Data Table)