【问题标题】:OpenRefine columnwise scriptingOpenRefine 列式脚本
【发布时间】:2015-10-27 12:17:41
【问题描述】:

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

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

好像所有的操作都是逐行的

特别是,我想找出列中的最高值和最低值

【问题讨论】:

    标签: openrefine


    【解决方案1】:

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

    【讨论】:

    • 看起来很有趣,只是我在寻找更快更简单的解决方案
    • 这将是最简单的。只需要安装插件
    【解决方案2】:

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

    但是我不确定这是否符合您在“脚本”中选择值的标准。我假设您的意思是您希望能够访问 GREL 表达式中的最低/最高值?

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

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

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

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

    进一步解释:

    1. 在项目开始时创建一个新列,并在该列的第一个单元格中放置一个值
    2. 切换到录制模式 此时,您的项目中应该有一个“记录” - 例如

    此时,使用 row.record.cells["Column 1"].value 之类的语法会为您提供一个包含“Column 1”中所有值的数组。然后,您可以使用 GREL 表达式进行操作 - 包括排序或比较值。

    【讨论】:

    • 您能否详细说明“强制 OpenRefine 将项目中的所有行视为单个记录的一部分”?
    • 扩展答案给出更多解释
    【解决方案3】:

    Text Facet 有一个很好的未记录选项,可在列中为您提供汇总结果,您只需复制和粘贴即可。

    1. 点击文本分面框左上角的“X 选项”。
    2. 这将打开一个单独的对话框,其中包含值以及该列中每个值的计数。

    (如果您只想获取单个列的所有值,请使用导出 -> 自定义表格导出器,然后通过单击复选框选择并排序要导出的列,然后单击下载选项卡以选择您的导出格式和然后点击下载按钮。)

    【讨论】:

      猜你喜欢
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      相关资源
      最近更新 更多