API REST para automatizar procesos DataRefiner

Descripción

Se continua ampliando las apis de plataforma con una para poder acceder al componente DataRefiner siguiendo con la incorporación de capacidades Data Governance en la Plataforma se ha incluido este servicio , que permite cargar datos desde fichero en diferentes formatos (XL, CSV, XML, JSON) desde mi PC, trabajar con ellos para hacer una limpieza, mejora, re estructuración o conciliación de estos y devolverlos como fichero en el formato que se desee.

Ejemplo de uso

La idea de uso es el poder tratar un lote de ficheros con la misma estructura de campos. Como ejemplo se tratará un fichero de tipo excel, que puede ser descargado aquí, luego tan sólo habría que repetir la misma operación con el resto del lote tan sólo cambiando el fichero en cada ejecución :

 

 

Al lote de ficheros se le cambiará la primera columna de todos los registros para poner el texto en letras mayúsculas, es una de las numerosas transformaciones del dato posibles.

Esta es la estructura del excel a tratar en el ejemplo:

Para probarlo accedemos a las apis de control panel

 

Se selecciona en swagger Data Refiner

 

En esta opción se pulsará sobre el botón Try it out

Y se rellena los campos :

Authorization : con el token oauth 2 que se puede obtener aqui si accedemos desde la consola o desde el api Authorization si se accede por la Apis de la plataforma:

Operations: en este campo se rellenará con las operaciones de transformación o tratamiento que se pretendan dar a los datos en este caso :

 

{ "op": "core/text-transform", "engineConfig": {"facets": [],"mode": "row-based"}, "columnName": "Region", "expression": "value.toUppercase()", "onError": "keep-original", "repeat": false, "repeatCount": 10, "description": "Text transform on cells in column Region using expression value.toUppercase()" }

Nota: para obtener estas operaciones se pueden obtener partiendo de la documentación de OpenRefine o creando previamente un proyecto, realizando al fichero las transformaciones y pulsando sobre el botón Extract, con esto se obtienen en formato json y permiten aplicarlas posteriormente a ficheros con la misma estructura.

exportType:

Aquí se introduce el formato del fichero de resultante, estos son los formatos posibles : csv tsv xls xlsx ods html txt

Para el ejemplo se ha seleccionado html

file:

Se adjuntará un fichero de los formatos disponibles:

'text/line-based’: Line-based text files
'text/line-based/*sv’: CSV / TSV / separator-based files [separator to be used in specified in the json submitted to the options parameter]
'text/line-based/fixed-width’: Fixed-width field text files
'binary/text/xml/xls/xlsx’: Excel files
'text/json’: JSON files
'text/xml’: XML files

En este caso del ejemplo tipo excel.

Tras pulsar botón EXECUTE

obtendremos el fichero tipo html con las operaciones realizadas sobre él, pudiéndolo descargar

Al abrirlo comprobamos que para la primera columna se ha transformado todo el texto de cada celda a mayúsculas

Explicación en vídeo