【问题标题】:How to add a column that substract the difference between two existing columns ? GREL in OpenRefine如何添加减去两个现有列之间差异的列? OpenRefine 中的 GREPL
【发布时间】:2019-10-03 15:01:16
【问题描述】:

所以我试图找到一种简单的方法来创建一个新列,该列显示两个现有列之间的差异(每个列都有数字)......我似乎找不到合适的 GREL 表达式......

所以我试图用一个名为“stock_before”的列和另一个名为“stock_after”的列来查找所售商品的数量。

我单击“stock_before”列中的编辑列,然后根据该列添加列。

对于我已经输入的 GREL 是: 价值单元[“Stock_after”] 它没有返回语法错误,但预览的所有单元格仍然显示“null”...我已将列的值转换为数字。

对于 Python,我尝试过: 减法(值,“Stock_after”) 同样没有语法错误,但仍然为空。

这看起来非常简单,但我找不到答案......你可以猜到我对这一切还很陌生 :) 希望有人能帮助我!

感谢您耐心阅读本文,感谢您抽出宝贵时间回答!

我想要与此类似的内容(3 列):

Stock_before、Stock_after、差异

1,1,0

3,1,2

4,4,0

2,1,1

【问题讨论】:

    标签: openrefine grel


    【解决方案1】:

    在 GREL 中,表达式 cells["Stock_after"] 返回一个代表相应单元格的 Cell 对象,而不是该单元格的实际值。要获取值,您需要使用cells["Stock_after"].value

    所以你最终的 GREL 表达式应该是value - cells["Stock_after"].value

    您还应该确保您的值存储为数字,而不是字符串:它们应该在表格中以绿色显示。如果没有,请先对两列使用“To number”操作。

    您可以在此处找到有关 GREL 和 Cell 对象的更多信息: https://github.com/OpenRefine/OpenRefine/wiki/Variables

    【讨论】:

    • 谢谢!我以为我试过了,但它没有以某种方式起作用(可能是我做过的事情,但你知道它是怎么回事!)
    猜你喜欢
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    相关资源
    最近更新 更多