如何评估多列单元格上的 OpenRefine Transform 输出?

如何评估多列单元格上的 OpenRefine Transform 输出?

我在中执行以下操作OpenRefine 的编辑列上的单元格 > 转换函数,但它直接给出从1h10到,1*60+10而不通过语言评估值通用精炼表达语言 (GREL),其中其他语言选项是 Python 和 Cjosure

replace(value,"h", "*60+")

预期输出:70

其他数据示例

  • 2h08

尝试影响许多列单元格

return eval(value.replace("h", "*60+")); # works on the current column

eval(cells("Other_column").value.replace("h", "*60+")) # does not work on other columns

输出:不成功

操作系统:Debian 9

答案1

具有某些数据格式的单列的 Python 解决方案h0

import re
value = re.sub("h0", "h",value)
value = re.sub("h","*60+", value)
return eval(value) 
return eval(value.replace("h", "*60+")); 

在单列上按预期输出。

在许多列上的下一步:只需在每个列上进行物理应用。如果需要,只需从提取中取出 json 供其他应用程序使用。

相关内容