0:00:06.250,0:00:09.123 Vamos a iniciar la aplicación [br]de escritorio de OpenRefine, 0:00:09.198,0:00:12.349 que abre una nueva ventana[br]del navegador y se ejecuta 0:00:12.349,0:00:14.596 en un puerto por defecto del equipo local. 0:00:16.350,0:00:21.052 Podemos crear un nuevo proyecto, [br]abrir o importar un proyecto existente, 0:00:22.340,0:00:24.650 o configurar el idioma, si es necesario. 0:00:25.355,0:00:28.255 Descargue el archivo stocks.zip[br]y busque el archivo 0:00:28.255,0:00:31.385 desde el menú [br]"Crear proyecto" de OpenRefine. 0:00:32.450,0:00:33.559 Haga clic en Siguiente. 0:00:34.510,0:00:37.722 Esto importa el contenido del archivo[br]a la memoria de la aplicación. 0:00:38.242,0:00:39.634 La herramienta trabaja 0:00:39.634,0:00:41.946 con archivos comprimidos [br]o sin comprimir. 0:00:44.440,0:00:47.978 Como estos datos tienen [br]el formato semiestructurado JSON, 0:00:47.978,0:00:52.339 seleccione el nodo raíz del árbol de JSON,[br]que transforma los datos 0:00:52.339,0:00:54.816 en un formato tabular con[br]filas y columnas. 0:00:55.775,0:00:59.569 Podemos preservar las cadenas vacías [br]y realizar una limpieza básica, 0:00:59.569,0:01:03.199 como eliminar los espacios en blanco [br]y analizar los valores numéricos. 0:01:07.860,0:01:10.960 Estas operaciones se[br]pueden realizar en una fase posterior. 0:01:13.430,0:01:16.505 Le daremos un nombre al proyecto [br]y procederemos a su creación. 0:01:22.990,0:01:24.730 Una vez creado el proyecto, 0:01:25.740,0:01:28.362 podemos hacer clic en todas [br]las columnas de edición 0:01:28.938,0:01:31.941 y eliminar aquellas que no queremos[br]del conjunto de datos. 0:01:33.010,0:01:36.907 Esto ayuda a reducir el uso de la memoria,[br]especialmente con conjuntos grandes. 0:01:38.101,0:01:41.105 También reordenaremos[br]algunas de las columnas de la tabla. 0:01:49.750,0:01:52.760 Ahora, el conjunto de datos es más ligero,[br]con solo las columnas 0:01:52.760,0:01:55.414 que se utilizarán[br]para algún análisis posterior. 0:01:56.280,0:01:59.625 Como con una hoja de cálculo, podemos[br]ordenar diferentes columnas. 0:01:59.935,0:02:04.135 Aquí, ordenaremos la columna [br]de volumen en orden descendente. 0:02:15.510,0:02:18.164 Los datos financieros, [br]como el precio de las acciones, 0:02:18.164,0:02:19.315 cambian constantemente. 0:02:19.856,0:02:22.424 ¿Y si nuestros datos no están actualizados[br]y queremos 0:02:22.424,0:02:24.271 los últimos datos de la bolsa? 0:02:24.336,0:02:28.674 Utilizando Openrefine, se pueden aumentar[br]los datos utilizando servicios web online. 0:02:29.650,0:02:33.187 Sin embargo, utilizar estos servicios web[br]puede quitar mucho tiempo. 0:02:33.577,0:02:37.028 Para enseñar esta característica,[br]utilizaremos un subconjunto más pequeño 0:02:37.028,0:02:40.182 de los datos de las acciones, que[br]cargaremos en un nuevo proyecto. 0:02:40.478,0:02:44.655 Busque el archivo stocks_demo.csv [br]en la carpeta de la sesión 0:02:44.731,0:02:46.284 y cárguelo en OpenRefine. 0:02:50.450,0:02:52.840 También crearemos un proyecto de[br]Openrefine 0:02:52.840,0:02:54.538 y lo llamaremos "StocksDemo". 0:02:59.870,0:03:03.031 En el menú de la columna de símbolos,[br]haga clic en Editar columna, 0:03:03.031,0:03:05.325 Añadir columna obteniendo URL. 0:03:06.338,0:03:10.430 Esto abre un cuadro [br]donde podemos introducir la URL 0:03:10.430,0:03:14.907 de un servicio web online[br]para aumentar los datos. 0:03:15.620,0:03:19.733 Este servicio online ofrece una API [br]que devuelve los precios de las acciones 0:03:19.733,0:03:21.104 con un ligero retraso. 0:03:22.250,0:03:25.563 Una buena práctica es probar[br]el servicio web desde un cliente 0:03:25.913,0:03:29.913 con un símbolo de cotización conocido [br]y validar la respuesta del servicio. 0:03:34.630,0:03:37.698 Añadiremos esta URL y [br]el símbolo bursátil 0:03:37.698,0:03:40.085 como parámetro disponible para cada fila. 0:03:41.230,0:03:44.296 Para ello, copie la URL [br]en el cuadro de expresión 0:03:45.576,0:03:47.756 e inserte lo que se muestra aquí. 0:03:56.720,0:03:59.946 Ahora, la URL es diferente para cada fila [br]con el símbolo bursátil 0:03:59.946,0:04:01.472 como parámetro de símbolo. 0:04:03.610,0:04:06.568 Damos un nuevo nombre a la columna[br]y hacemos clic en Aceptar. 0:04:08.440,0:04:12.086 Esto podría tardar unos minutos,[br]según la velocidad del servicio web. 0:04:17.010,0:04:19.921 Ya tenemos una nueva columna con[br]los datos de las acciones. 0:04:20.680,0:04:24.506 Observe que los resultados están [br]en formato XML y deben analizarse. 0:04:25.406,0:04:28.606 Consulte los manuales de OpenRefine [br]para obtener ayuda 0:04:28.606,0:04:31.408 sobre el análisis de resultados [br]en XML y JSON. 0:04:32.178,0:04:34.965 Por ahora, esta es la sintaxis [br]para extraer 0:04:34.965,0:04:37.065 el precio de las acciones [br]del documento XML. 0:04:57.440,0:05:00.908 Tras revisar los resultados,[br]estamos listos para exportar los datos 0:05:00.908,0:05:03.938 a otra herramienta [br]de procesamiento de datos. 0:05:07.950,0:05:11.541 En el siguiente ejemplo, utilizaremos [br]OpenRefine para limpiar 0:05:11.541,0:05:13.438 un archivo de datos desordenado. 0:05:15.900,0:05:19.270 Descargamos el archivo [br]customers-messy.zip 0:05:19.270,0:05:22.527 de la carpeta de la sesión [br]y lo guardamos en el ordenador local. 0:05:23.587,0:05:26.911 El primer paso es revisar[br]visualmente el archivo de datos en crudo 0:05:26.911,0:05:30.203 utilizando un editor de texto o un Excel[br]y familiarizarse 0:05:30.203,0:05:32.606 con los atributos [br]y el contenido de los datos. 0:05:35.030,0:05:38.087 Como antes, cargamos este archivo [br]de datos en OpenRefine 0:05:38.087,0:05:39.500 y creamos un nuevo proyecto. 0:05:41.990,0:05:46.805 Una vez cargados los datos, revisamos[br]superficialmente las columnas, 0:05:49.260,0:05:51.996 y cambiamos la codificación de [br]caracteres a UTF-8. 0:05:52.690,0:05:56.326 Podemos cambiar algunas [br]opciones, como los separadores de columna 0:05:56.586,0:05:58.167 o añadir una fila de cabecera. 0:05:59.133,0:06:01.461 En nuestro caso, [br]mantendremos la configuración. 0:06:02.920,0:06:07.368 Nombramos el proyecto de limpieza[br]y hacemos clic en Crear Proyecto. 0:06:09.550,0:06:13.952 Esto crea un nuevo proyecto con una[br]copia del conjunto de datos original. 0:06:14.872,0:06:18.360 El siguiente paso en el proceso[br]es examinar visualmente los datos 0:06:18.960,0:06:22.179 y comprobar cada columna [br]en busca de errores, problemas de formato 0:06:22.179,0:06:23.430 o valores ausentes. 0:06:24.338,0:06:26.209 Podemos realizar operaciones [br]comunes, 0:06:26.209,0:06:28.322 como eliminar espacios [br]en blanco del texto. 0:06:28.784,0:06:30.863 Para ello, [br]hacemos clic en la cabecera 0:06:31.020,0:06:34.424 de Nombre de contacto, por ejemplo,[br]Editar celdas, 0:06:34.918,0:06:37.489 Recortar los espacios en blanco[br]iniciales y finales. 0:06:38.268,0:06:40.979 Podemos realizar la misma operación[br]en varias columnas. 0:06:42.930,0:06:45.530 Podríamos hacer operaciones básicas [br]de encadenamiento 0:06:45.530,0:06:46.896 como en una hoja de cálculo. 0:06:47.150,0:06:51.527 Digamos que queremos combinar el nombre[br]y los apellidos en una sola columna. 0:06:51.845,0:06:54.455 Para ello, hacemos clic [br]en Editar columna, 0:06:55.380,0:06:57.528 Añadir columna basada en esta columna. 0:06:59.000,0:07:01.790 En el cuadro de expresión,[br]tomaremos el valor actual 0:07:01.790,0:07:03.185 del nombre de contacto, 0:07:04.300,0:07:08.476 y añadimos un espacio seguido del valor[br]del apellido de contacto. 0:07:15.850,0:07:17.560 Veamos los resultados 0:07:18.520,0:07:20.498 y asignemos un nombre a la nueva[br]columna. 0:07:20.498,0:07:23.545 Por ejemplo, Nombre de contacto completo.[br]Le damos a Aceptar. 0:07:29.870,0:07:32.829 La nueva columna[br]se ha añadido a nuestro conjunto de datos. 0:07:33.990,0:07:37.653 Algo bueno de OpenRefine es que [br]puedes deshacer tus operaciones pasadas. 0:07:38.473,0:07:42.108 Si ha cometido un error, puede[br]volver a un paso anterior y corregirlo. 0:07:42.800,0:07:46.468 Esto facilita mucho hacer cambios[br]sin perder tiempo 0:07:46.468,0:07:48.751 guardando múltiples copias de los datos. 0:07:52.920,0:07:55.395 Vamos a eliminar la columna[br]que acabamos de crear. 0:07:57.300,0:07:59.503 Al igual que con las hojas de cálculo, 0:07:59.503,0:08:02.759 podemos realizar otras operaciones[br]sencillas basadas en las columnas, 0:08:02.759,0:08:06.777 como cambiar el texto a mayúscula[br]y a minúscula. 0:08:17.750,0:08:21.507 Las facetas son una función potente en[br]muchas herramientas de limpieza de datos. 0:08:21.817,0:08:24.502 Las facetas resumen [br]las celdas de esa columna 0:08:24.502,0:08:26.901 para dar una visión [br]más amplia de la misma. 0:08:27.193,0:08:30.487 También permite filtrar [br]solo un subconjunto de las filas 0:08:30.487,0:08:32.462 que desee cambiar en bloque. 0:08:32.689,0:08:34.038 Veamos cómo funciona. 0:08:35.053,0:08:37.596 Crearemos una faceta de texto [br]en la columna del país 0:08:37.633,0:08:42.254 haciendo clic en el menú desplegable [br]de la columna, y luego en Faceta de texto. 0:08:42.884,0:08:45.739 Podemos ver que los nombres[br]de los países no son coherentes. 0:08:47.220,0:08:52.492 Por ejemplo, vemos Estados Unidos[br]como "US", "USA" o "United States", 0:08:52.492,0:08:54.120 hasta con caracteres adicionales. 0:08:55.690,0:09:00.494 Además, "Netherlands"[br]se encuentra con y sin el artículo "the". 0:09:01.384,0:09:05.251 Vemos "France" escrita tanto en mayúscula[br]como en minúscula. 0:09:07.130,0:09:09.970 "Cluster" nos permite [br]agrupar y editar automáticamente 0:09:09.970,0:09:11.985 valores diferentes pero similares. 0:09:12.535,0:09:15.149 Hagamos clic en el comando Cluster[br]del marco izquierdo. 0:09:15.890,0:09:19.650 Ahora, podemos ver todas[br]las palabras similares agrupadas 0:09:19.650,0:09:21.768 y realizar una operación de fusión. 0:09:22.492,0:09:26.472 Fusionemos todo el texto que se refiera a [br]Estados Unidos como "USA", 0:09:27.032,0:09:29.496 a Reino Unido como "UK", etc. 0:09:33.230,0:09:36.157 Confirmamos con el botón [br]de fusión y reagrupación. 0:09:36.667,0:09:39.180 No quedan más agrupaciones obvias. 0:09:39.680,0:09:42.322 Sin embargo, no hemos [br]resuelto el problema de Holanda. 0:09:42.711,0:09:47.211 Elegiremos otra operación de agrupación[br]que utiliza una métrica de distancia. 0:09:56.410,0:09:59.826 La columna del país ya está arreglada[br]y no hay más grupos que encontrar. 0:10:00.474,0:10:01.996 Pero sigue habiendo un error. 0:10:02.394,0:10:04.908 "Norway" tiene un carácter espaciado. 0:10:05.146,0:10:07.496 Mire si puede encontrar[br]una forma de solucionarlo. 0:10:09.690,0:10:13.475 Ahora, vamos a utilizar la herramienta [br]para limpiar una columna numérica, 0:10:13.639,0:10:15.163 como el límite de crédito. 0:10:15.539,0:10:18.652 Primero, aplicaremos una transformación [br]numérica en la columna 0:10:18.834,0:10:21.018 para que se reconozcan todos los números. 0:10:21.909,0:10:24.954 Algunos valores de esta columna [br]no se reconocen como números. 0:10:25.484,0:10:27.972 Esto se debe a que hay[br]valores alfanuméricos, 0:10:27.972,0:10:30.288 como USD o el símbolo del dólar. 0:10:31.328,0:10:34.010 Podemos corregirlo [br]aplicando la faceta numérica. 0:10:34.750,0:10:38.026 A la izquierda, vemos un gráfico [br]con la distribución de los datos. 0:10:38.900,0:10:44.553 Filtremos solo los valores no numéricos[br]y cambiemos los valores de los campos 0:10:44.553,0:10:46.244 desde el cuadro de expresión. 0:10:52.930,0:10:55.720 Esta pantalla nos permite ver[br]los valores originales, 0:10:55.720,0:10:58.383 así como los resultados [br]cuando se aplica la expresión. 0:11:02.670,0:11:07.472 Utilizaremos la función de sustitución[br]para reemplazar los caracteres no deseados 0:11:07.472,0:11:08.735 con espacios en blanco. 0:11:09.147,0:11:12.576 Vamos a quitar los símbolos "USD", [br]"$" y la coma. 0:11:14.010,0:11:17.588 Como puede ver, se pueden realizar[br]varias funciones en una sola línea. 0:11:18.028,0:11:20.308 Podemos llamarlo[br]"encadenamiento de operadores". 0:11:21.168,0:11:23.786 Todos los caracteres alfanuméricos[br]han sido eliminados. 0:11:26.970,0:11:30.623 Cuando hacemos clic en Aceptar, la[br]herramienta sigue sin verlos como números. 0:11:31.280,0:11:34.318 Para ello, tendremos que usar[br]la función "toNumber" 0:11:34.318,0:11:38.308 para convertir los valores de la faceta[br]en valores numéricos. 0:11:48.170,0:11:51.800 Hemos probado estas operaciones[br]en una faceta numérica. 0:11:52.420,0:11:55.120 Para aplicar los cambios [br]al conjunto del proyecto, 0:11:55.120,0:11:58.440 copiamos la expresión y la aplicamos[br]a una transformación de columna. 0:11:59.064,0:12:02.029 Esto garantiza que todos los valores[br]del límite de crédito 0:12:02.029,0:12:03.594 se han convertido en números. 0:12:13.100,0:12:15.506 Una vez que hemos limpiado[br]el resto de los datos, 0:12:15.551,0:12:18.762 estamos listos para exportar el archivo[br]en el formato deseado. 0:12:19.372,0:12:23.467 Para este ejemplo, vamos a exportarlo [br]como un archivo CSV 0:12:23.626,0:12:25.565 y a abrirlo para ver los resultados. 0:12:30.430,0:12:32.678 Ahora, todas las columnas [br]tienen datos limpios, 0:12:32.834,0:12:35.380 listos para ser almacenados[br]en una base de datos 0:12:35.380,0:12:37.137 o para su posterior análisis.