UiPath 中列的值 - 需要最有效的方法
Values from a column in UiPath - Need most efficient way
在 UiPath 中,从 DataTable 中获取列中所有唯一值的列表或数组的最有效方法是什么?最好不要循环
我想你想要做的是基于单列实现一个 UiPath filter,如下所示:
yourDT.DefaultView.ToTable(true, "ColumnName")
您也可以通过简单地添加额外的列名来扩展它以进行多列筛选:
yourDT.DefaultView.ToTable(true, "ColumnName1", "ColumnName2"...."ColumnNameN")
效率与简单性
顺便说一句,关于什么是 'most efficient' 的讨论值得商榷。我会说这些是最简单的方法。我敢肯定有一些天才可以编写自己的代码来削减默认实现的一些时钟周期。但为了兼顾效率和简单性,这是可行的方法。
我找到了 this post:
使用添加数据列添加数据列activity
提取重复行并存储在数据表中dt1
使用以下方法获取不同的值:
dt2 = dt1.DefaultView.ToTable(True)
运行 if 条件
中数据表 dt 的每一行
(From p in dt2.Select()
where string.Join(",",p.ItemArray).Equals(string.join(",",row.ItemArray)
Select p).ToList.Count>0
然后赋值row("Flag")="flag"
这标记了行。所以你可以很容易地适应它。主要部分是 DefaultView.ToTable
.
另一个想法是简单地使用现有的库,例如 this。
在 UiPath 中,从 DataTable 中获取列中所有唯一值的列表或数组的最有效方法是什么?最好不要循环
我想你想要做的是基于单列实现一个 UiPath filter,如下所示:
yourDT.DefaultView.ToTable(true, "ColumnName")
您也可以通过简单地添加额外的列名来扩展它以进行多列筛选:
yourDT.DefaultView.ToTable(true, "ColumnName1", "ColumnName2"...."ColumnNameN")
效率与简单性
顺便说一句,关于什么是 'most efficient' 的讨论值得商榷。我会说这些是最简单的方法。我敢肯定有一些天才可以编写自己的代码来削减默认实现的一些时钟周期。但为了兼顾效率和简单性,这是可行的方法。
我找到了 this post:
使用添加数据列添加数据列activity
提取重复行并存储在数据表中
dt1
使用以下方法获取不同的值:
dt2 = dt1.DefaultView.ToTable(True)
运行 if 条件
中数据表 dt 的每一行(From p in dt2.Select() where string.Join(",",p.ItemArray).Equals(string.join(",",row.ItemArray) Select p).ToList.Count>0
然后赋值
row("Flag")="flag"
这标记了行。所以你可以很容易地适应它。主要部分是 DefaultView.ToTable
.
另一个想法是简单地使用现有的库,例如 this。