【发布时间】:2015-10-27 12:17:41
【问题描述】:
我花了一些时间谷歌搜索,但找不到任何有用的东西。
如何在脚本的OpenRefine中选择单列的所有值?
好像所有的操作都是逐行的
特别是,我想找出列中的最高值和最低值
【问题讨论】:
标签: openrefine
我花了一些时间谷歌搜索,但找不到任何有用的东西。
如何在脚本的OpenRefine中选择单列的所有值?
好像所有的操作都是逐行的
特别是,我想找出列中的最高值和最低值
【问题讨论】:
标签: openrefine
默认情况下,OpenRefine 功能仅限于计算。 Stats Extension 对每列进行基本统计(最小值、最大值、平均值、中等...)。
【讨论】:
Facets 将为您提供列中所有值的列表 - 因此,获取列中最低/最高值的最简单方法是在列上创建一个构面并查看构面中生成的最高/最低值得到答案。
但是我不确定这是否符合您在“脚本”中选择值的标准。我假设您的意思是您希望能够访问 GREL 表达式中的最低/最高值?
您可以这样做,但您必须强制 OpenRefine 将项目中的所有行视为单个记录的一部分。最简单的方法通常是在项目的开头添加一列,除了包含值的第一个单元格之外,该列是空的。
完成此操作后,您可以使用以下语法访问列中的所有值:
row.record.cells["Column name"].value
另请参阅我对使用相同技术的OpenRefine - Fill between cells but not at the end of the list 的回答
进一步解释:
此时,使用 row.record.cells["Column 1"].value 之类的语法会为您提供一个包含“Column 1”中所有值的数组。然后,您可以使用 GREL 表达式进行操作 - 包括排序或比较值。
【讨论】: