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