-
Vamos a iniciar la aplicación
de escritorio de OpenRefine,
-
que abre una nueva ventana
del navegador y se ejecuta
-
en un puerto por defecto del equipo local.
-
Podemos crear un nuevo proyecto,
abrir o importar un proyecto existente,
-
o configurar el idioma, si es necesario.
-
Descargue el archivo stocks.zip
y busque el archivo
-
desde el menú
"Crear proyecto" de OpenRefine.
-
Haga clic en Siguiente.
-
Esto importa el contenido del archivo
a la memoria de la aplicación.
-
La herramienta trabaja
-
con archivos comprimidos
o sin comprimir.
-
Como estos datos tienen
el formato semiestructurado JSON,
-
seleccione el nodo raíz del árbol de JSON,
que transforma los datos
-
en un formato tabular con
filas y columnas.
-
Podemos preservar las cadenas vacías
y realizar una limpieza básica,
-
como eliminar los espacios en blanco
y analizar los valores numéricos.
-
Estas operaciones se
pueden realizar en una fase posterior.
-
Le daremos un nombre al proyecto
y procederemos a su creación.
-
Una vez creado el proyecto,
-
podemos hacer clic en todas
las columnas de edición
-
y eliminar aquellas que no queremos
del conjunto de datos.
-
Esto ayuda a reducir el uso de la memoria,
especialmente con conjuntos grandes.
-
También reordenaremos
algunas de las columnas de la tabla.
-
Ahora, el conjunto de datos es más ligero,
con solo las columnas
-
que se utilizarán
para algún análisis posterior.
-
Como con una hoja de cálculo, podemos
ordenar diferentes columnas.
-
Aquí, ordenaremos la columna
de volumen en orden descendente.
-
Los datos financieros,
como el precio de las acciones,
-
cambian constantemente.
-
¿Y si nuestros datos no están actualizados
y queremos
-
los últimos datos de la bolsa?
-
Utilizando Openrefine, se pueden aumentar
los datos utilizando servicios web online.
-
Sin embargo, utilizar estos servicios web
puede quitar mucho tiempo.
-
Para enseñar esta característica,
utilizaremos un subconjunto más pequeño
-
de los datos de las acciones, que
cargaremos en un nuevo proyecto.
-
Busque el archivo stocks_demo.csv
en la carpeta de la sesión
-
y cárguelo en OpenRefine.
-
También crearemos un proyecto de
Openrefine
-
y lo llamaremos "StocksDemo".
-
En el menú de la columna de símbolos,
haga clic en Editar columna,
-
Añadir columna obteniendo URL.
-
Esto abre un cuadro
donde podemos introducir la URL
-
de un servicio web online
para aumentar los datos.
-
Este servicio online ofrece una API
que devuelve los precios de las acciones
-
con un ligero retraso.
-
Una buena práctica es probar
el servicio web desde un cliente
-
con un símbolo de cotización conocido
y validar la respuesta del servicio.
-
Añadiremos esta URL y
el símbolo bursátil
-
como parámetro disponible para cada fila.
-
Para ello, copie la URL
en el cuadro de expresión
-
e inserte lo que se muestra aquí.
-
Ahora, la URL es diferente para cada fila
con el símbolo bursátil
-
como parámetro de símbolo.
-
Damos un nuevo nombre a la columna
y hacemos clic en Aceptar.
-
Esto podría tardar unos minutos,
según la velocidad del servicio web.
-
Ya tenemos una nueva columna con
los datos de las acciones.
-
Observe que los resultados están
en formato XML y deben analizarse.
-
Consulte los manuales de OpenRefine
para obtener ayuda
-
sobre el análisis de resultados
en XML y JSON.
-
Por ahora, esta es la sintaxis
para extraer
-
el precio de las acciones
del documento XML.
-
Tras revisar los resultados,
estamos listos para exportar los datos
-
a otra herramienta
de procesamiento de datos.
-
En el siguiente ejemplo, utilizaremos
OpenRefine para limpiar
-
un archivo de datos desordenado.
-
Descargamos el archivo
customers-messy.zip
-
de la carpeta de la sesión
y lo guardamos en el ordenador local.
-
El primer paso es revisar
visualmente el archivo de datos en crudo
-
utilizando un editor de texto o un Excel
y familiarizarse
-
con los atributos
y el contenido de los datos.
-
Como antes, cargamos este archivo
de datos en OpenRefine
-
y creamos un nuevo proyecto.
-
Una vez cargados los datos, revisamos
superficialmente las columnas,
-
y cambiamos la codificación de
caracteres a UTF-8.
-
Podemos cambiar algunas
opciones, como los separadores de columna
-
o añadir una fila de cabecera.
-
En nuestro caso,
mantendremos la configuración.
-
Nombramos el proyecto de limpieza
y hacemos clic en Crear Proyecto.
-
Esto crea un nuevo proyecto con una
copia del conjunto de datos original.
-
El siguiente paso en el proceso
es examinar visualmente los datos
-
y comprobar cada columna
en busca de errores, problemas de formato
-
o valores ausentes.
-
Podemos realizar operaciones
comunes,
-
como eliminar espacios
en blanco del texto.
-
Para ello,
hacemos clic en la cabecera
-
de Nombre de contacto, por ejemplo,
Editar celdas,
-
Recortar los espacios en blanco
iniciales y finales.
-
Podemos realizar la misma operación
en varias columnas.
-
Podríamos hacer operaciones básicas
de encadenamiento
-
como en una hoja de cálculo.
-
Digamos que queremos combinar el nombre
y los apellidos en una sola columna.
-
Para ello, hacemos clic
en Editar columna,
-
Añadir columna basada en esta columna.
-
En el cuadro de expresión,
tomaremos el valor actual
-
del nombre de contacto,
-
y añadimos un espacio seguido del valor
del apellido de contacto.
-
Veamos los resultados
-
y asignemos un nombre a la nueva
columna.
-
Por ejemplo, Nombre de contacto completo.
Le damos a Aceptar.
-
La nueva columna
se ha añadido a nuestro conjunto de datos.
-
Algo bueno de OpenRefine es que
puedes deshacer tus operaciones pasadas.
-
Si ha cometido un error, puede
volver a un paso anterior y corregirlo.
-
Esto facilita mucho hacer cambios
sin perder tiempo
-
guardando múltiples copias de los datos.
-
Vamos a eliminar la columna
que acabamos de crear.
-
Al igual que con las hojas de cálculo,
-
podemos realizar otras operaciones
sencillas basadas en las columnas,
-
como cambiar el texto a mayúscula
y a minúscula.
-
Las facetas son una función potente en
muchas herramientas de limpieza de datos.
-
Las facetas resumen
las celdas de esa columna
-
para dar una visión
más amplia de la misma.
-
También permite filtrar
solo un subconjunto de las filas
-
que desee cambiar en bloque.
-
Veamos cómo funciona.
-
Crearemos una faceta de texto
en la columna del país
-
haciendo clic en el menú desplegable
de la columna, y luego en Faceta de texto.
-
Podemos ver que los nombres
de los países no son coherentes.
-
Por ejemplo, vemos Estados Unidos
como "US", "USA" o "United States",
-
hasta con caracteres adicionales.
-
Además, "Netherlands"
se encuentra con y sin el artículo "the".
-
Vemos "France" escrita tanto en mayúscula
como en minúscula.
-
"Cluster" nos permite
agrupar y editar automáticamente
-
valores diferentes pero similares.
-
Hagamos clic en el comando Cluster
del marco izquierdo.
-
Ahora, podemos ver todas
las palabras similares agrupadas
-
y realizar una operación de fusión.
-
Fusionemos todo el texto que se refiera a
Estados Unidos como "USA",
-
a Reino Unido como "UK", etc.
-
Confirmamos con el botón
de fusión y reagrupación.
-
No quedan más agrupaciones obvias.
-
Sin embargo, no hemos
resuelto el problema de Holanda.
-
Elegiremos otra operación de agrupación
que utiliza una métrica de distancia.
-
La columna del país ya está arreglada
y no hay más grupos que encontrar.
-
Pero sigue habiendo un error.
-
"Norway" tiene un carácter espaciado.
-
Mire si puede encontrar
una forma de solucionarlo.
-
Ahora, vamos a utilizar la herramienta
para limpiar una columna numérica,
-
como el límite de crédito.
-
Primero, aplicaremos una transformación
numérica en la columna
-
para que se reconozcan todos los números.
-
Algunos valores de esta columna
no se reconocen como números.
-
Esto se debe a que hay
valores alfanuméricos,
-
como USD o el símbolo del dólar.
-
Podemos corregirlo
aplicando la faceta numérica.
-
A la izquierda, vemos un gráfico
con la distribución de los datos.
-
Filtremos solo los valores no numéricos
y cambiemos los valores de los campos
-
desde el cuadro de expresión.
-
Esta pantalla nos permite ver
los valores originales,
-
así como los resultados
cuando se aplica la expresión.
-
Utilizaremos la función de sustitución
para reemplazar los caracteres no deseados
-
con espacios en blanco.
-
Vamos a quitar los símbolos "USD",
"$" y la coma.
-
Como puede ver, se pueden realizar
varias funciones en una sola línea.
-
Podemos llamarlo
"encadenamiento de operadores".
-
Todos los caracteres alfanuméricos
han sido eliminados.
-
Cuando hacemos clic en Aceptar, la
herramienta sigue sin verlos como números.
-
Para ello, tendremos que usar
la función "toNumber"
-
para convertir los valores de la faceta
en valores numéricos.
-
Hemos probado estas operaciones
en una faceta numérica.
-
Para aplicar los cambios
al conjunto del proyecto,
-
copiamos la expresión y la aplicamos
a una transformación de columna.
-
Esto garantiza que todos los valores
del límite de crédito
-
se han convertido en números.
-
Una vez que hemos limpiado
el resto de los datos,
-
estamos listos para exportar el archivo
en el formato deseado.
-
Para este ejemplo, vamos a exportarlo
como un archivo CSV
-
y a abrirlo para ver los resultados.
-
Ahora, todas las columnas
tienen datos limpios,
-
listos para ser almacenados
en una base de datos
-
o para su posterior análisis.