Como avaliar a saída do OpenRefine Transform em muitas células de colunas?

0

Eu faço o seguinte em OpenRefine Edit Cells on Columns > Transformar a função, mas dá literalmente de 1h10 a 1*60+10 sem avaliar o valor pela linguagem Linguagem de Expressão de Refinação Geral (GREL) , onde outras opções de idioma são Python e Cjosure

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

Saída esperada: 70

Outros exemplos de dados

  • 2h08

Tentativa de afetar muitas células de colunas

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

Resultado: malsucedido

OS: Debian 9

    
por Léo Léopold Hertz 준영 29.07.2017 / 11:14

1 resposta

0

Solução Python em uma única coluna com alguns formatos de dados de h0 .

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

Saída conforme esperado em uma única coluna.

Próximo passo em muitas colunas: basta aplicar fisicamente em cada coluna. Se necessário, basta retirar o json do extrato para outras aplicações.

    
por 29.07.2017 / 11:18