OpenRefine列式脚本

时间:2015-10-27 12:17:41

标签: openrefine

我花了一些时间谷歌搜索,但找不到任何有用的东西。

如何在脚本中的 OpenRefine 中选择单列的所有值?

似乎所有操作都是行式的

特别是,我想在列中找到最高和最低值

3 个答案:

答案 0 :(得分:0)

Facets将为您提供列中所有值的列表 - 因此获取列中最低/最高值的最简单方法是在列上创建一个构面,并在构面中查看结果的最高/最低值得到答案。

但是,我不确定这是否符合您在脚本中选择值的标准'。通过这个我假设你想要能够访问GREL表达式中的最低/最高值?

您可以执行此操作,但必须强制OpenRefine将项目中的所有行视为单个记录的一部分。最简单的方法是在项目开头添加一个列,除了第一个包含值的单元格外,该列为空。

完成此操作后,您可以使用以下语法访问列中的所有值:

row.record.cells["Column name"].value

另请参阅我使用相同技术的OpenRefine - Fill between cells but not at the end of the list的答案

进一步解释:

  1. 在项目开始时创建一个新列,并将一个值放在该列的第一个单元格中
  2. 切换到录制模式 此时你应该有一个单独的记录'在你的项目中 - 例如
  3. Force single record in OpenRefine

    此时使用类似row.record.cells ["第1列和第34列]的语法.value为您提供了"第1列和第34列中所有值的数组。然后,您可以使用GREL表达式来操作它 - 包括排序或比较值。

答案 1 :(得分:0)

默认情况下,OpenRefine功能仅限于计算。 Stats Extension每列的基本统计数据(最小值,最大值,平均值,中等值)。

答案 2 :(得分:0)

Text Facet有一个很好的未记录选项,可以在一个可以复制和粘贴的列中为您提供聚合结果。

  1. 单击“文本构面”框左上角的“X选项”。
  2. 这将打开一个单独的对话框,其中包含值以及该列中每个值的计数。
  3. (如果您希望获得单个列的所有值,请使用“导出” - >“自定义表格导出器”,然后单击“复选框”,然后单击“下载”选项卡以选择导出格式,然后选择“将列导出到导出”然后单击“下载”按钮。)

    enter image description here enter image description here