Как оценить вывод OpenRefine Transform на многих ячейках столбцов?

Я делаю следующее в OpenRefine's Edit Cells on Columns > Transform function, но он дает буквально от 1h10 до 1*60+10 без оценки значения языком General Refine Expression Language (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

0
29.07.2017, 12:53
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 из экстракта для других приложений.

0
28.01.2020, 04:43

Теги

Похожие вопросы