de los datos a la información algunos formatos de datos… Ricardo Vega - ricardov.cl - @ricardov_cl v5 2021 (v4 2020, v3 2019, v2 2018, v1 2016) | Creative Commons - Attribution-NonCommercial-NoDerivatives 4.0 International
grandes categorías de datos... estructurados
no estructurados
tienen estructuras reconocibles como tablas y columnas elementos discretos (símbolos separados) muy distinguibles generalmente en BBDD o archivos tsv, csv, json, xml...
sin estructuras reconocibles o muy variables elementos discretos (símbolos separados) poco distinguibles generalmente textos, conjuntos de imágenes, etc
El hombre imaginario N. Parra El hombre imaginario vive en una mansión imaginaria rodeada de árboles imaginarios a la orilla de un río imaginario De los muros que son imaginarios penden antiguos cuadros imaginarios irreparables grietas imaginarias que representan hechos imaginarios ocurridos en mundos imaginarios en lugares y tiempos imaginarios Todas las tardes tardes imaginarias sube las escaleras imaginarias y se asoma al balcón imaginario a mirar el paisaje imaginario que consiste en un valle imaginario circundado de cerros imaginarios Sombras imaginarias vienen por el camino imaginario entonando canciones imaginarias a la muerte del sol imaginario Y en las noches de luna imaginaria sueña con la mujer imaginaria que le brindó su amor imaginario vuelve a sentir ese mismo dolor ese mismo placer imaginario
tinyurl.com/y3lkgmxj algunos datos para bajar, explorar y curiosear...
descargar ahora.
formatos tabular .csv .tsv .xml .json
-
dispuestos en columnas y filas (excel?) comma separated values tab separated values extensible markup language javascript object notation
apis…
- Application Programming Interface
formatos tabular
- dispuestos en columnas y filas.
nombre
profesión
sueldo mensual
juan
dentista
5.000.000
maría
profesora
800.000
jose
diseñador
6.000.000
iván
diputado
10.000.000
header o cabecera
formatos: .csv .csv - comma separated values es un archivo de texto. los datos están separados por comas.
año,país,habitantes,capital 1997,Chile,16.000.000,Santiago 1998,Argentina,36.000.000,Buenos Aires
año;país;habitantes;capital 1997;Chile;16.000.000;Santiago 1998;Argentina;36.000.000;Buenos Aires
formatos .tsv .tsv - tab separated values es un archivo de texto. los datos están separados por comas.
Año
País
Habitantes
Capital
1997
Chile
16.000.000
Santiago
1998
Argentina
36.000.000
Buenos Aires
formatos .xml .xml - extensible markup language extendida desde tags html, estos pueden ser creados, estructura de datos más compleja, puede tener elementos anidados.
<?xml version="1.0" encoding="UTF-8"?> <país> <país_nombre>Chile</país_nombre> <habitantes>16.000.000</habitantes> <capital> <capital_nombre>Santiago</capital_nombre> <capital_habitantes>6.000.000</capital_habitantes> </capital> </país>
formatos: .json .json - javascript object notation muy popular y eficiente, pensado para browsers. Estructura más compleja. Estructura key : value (clave : valor)
formatos: .json .json - javascript object notation muy popular y eficiente, pensado para browsers. Estructura más compleja. Estructura key : value (clave : valor)
{ "nombre_pais":"Chile", "habitantes":"16.000.000", "capital":{ "capital_nombre":"Santiago", "capital_habitantes":"6.000.000", "ubicación":{ "lat":33, "lon":71 } } }
extraer de pdf tabula - permite extraer tablas de archivos PDF abre una dirección local en nuestro browser. http://tabula.technology/
extraer de html Es posible extraer datos desde Wikipedia hacia Google docs -Abrir una hoja de cálculo -Colocar función y la dirección web correspondiente.
=ImportHTML("https://es.wikipedia.org/wiki/Anexo:Goleadores_de_la_Copa_ Mundial_de_Fútbol"; "table";3)
api: application programing interface Permite conectarse a datos provistos por alguna institución u organización, sin entrar a su bbdd. Puede tener diferentes formatos de datos.
api: application programing interface Permite conectarse a datos provistos por alguna institución u organización, sin entrar a su bbdd. Puede tener diferentes formatos de datos. API Pokemon: https://pokeapi.co/ https://pokeapi.co/api/v2/location-area/1/ https://pokeapi.co/api/v2/pokemon/ - API C80: Constitución 80, completa: https://c80.cl/wp-json/constitucion1980/v1/constitucion Constitución 80, capitulo 1: https://c80.cl/wp-json/constitucion1980/v1/capitulo/1 Constitución 80, articulo 1: https://c80.cl/wp-json/constitucion1980/v1/articulo/1 -API ex SBIF: http://api.sbif.cl/index.html - Localización de la Estación Espacial Internacional: http://open-notify.org/Open-Notify-API/ISS-Location-Now/
no es lo mismo:
formato de dato ≠ tipos de datos el formato en que se guardan los conjuntos de datos o archivos de datos en los computadores:
atributo sobre la naturaleza de los datos indicando cómo los debe entender y procesar:
tsv, csv, json, xml...
enteros (-100, 95) punto flotante (-10.4, 9.5) letras, string (a-z) booleanos (verdadero o falso)....
tipos de datos algunos tipos de datos… int: números enteros. ej: 1, 456, 0, -10 float: números con punto flotante. ej: 3.10 , 100.5 string: cadenas de caracteres. ej: “Hola”, “Juan”, “10” + 5 Otros: char, boolean, long, etc...
tipos de datos en una bbdd pueden coexistir diferentes tipos de datos. ¿pueden reconocerlos?
datos y metadatos
datos y metadatos
tidy data untidy
United Nations’ migration data
tidy data tidy, ordenado
ejercicios / desafíos
ejercicio 1 - familia en json (10 mins) formatear “a manito” los datos de su familia. Usando este validador: https://jsonformatter.curiousconcept.com/ Pueden copiar el código a continuación, lo pegan en la cajita de la web anterior y modifican con sus datos. Apretar e l botón “Process” para ver si los errores.
{ "familia": [ {"mama":"María"}, {"papa":"Pedro"}, {"hijos": [ {"hijo":"Ignacia"}, {"hijo":"Iris"} ] } ] }
ejercicio 2- Visualizar datos simples en RAW (20 mins) Para este breve ejercicio, puede usar el archivo resultante de la limpieza (comprasutiles_limpio_apellido_nombre.csv) o los datos del archivo "planetas_limpio.csv". El proceso es el siguiente: - Abrir el archivo de datos (datos_planetas.csv u otro) con excel, o con SublimeText (u otro editor de código), y copiar las celdas de datos. - Luego ir a: app.rawgraphs.io, apretar en "Use It Now" para continuar. - En la caja "Load Your Data" pueden pegar los datos copiados desde Excel u otro editor. - En Choose a Chart pueden escoger diferentes tipos de representación que sea la más apropiada a sus datos o lo que necesitan comunicar. - En Map Your Dimensions deben colocar las variables de sus datos en los ejes correspondientes. - Su visualización aparecerá donde dice Customize your Visualization, donde pueden cambiar anchos altos, colores, etc. - Desde Download pueden bajar el resultado en diferentes formatos:Vector (.svg), como imagen (.png) o como estructura de datos (.json) - Una vez lista la visualización, pueden copiar el código resultante desde Embed SVG Code e incrustarlo en una página web. Se sugiere probar otros datos y representaciones para comprender cómo se comportan los gráficos. NO probar con datasets muy grandes, se les va a quedar pegado el compu.
ejercicio 3- Incrustar visualización enhtml (20 mins) Deben bajar Sublime Text 3 desde esta dirección: www.sublimetext.com/3 Para este breve ejercicio, se usará la carpeta ejemplo_raw_graphs. - Una vez lista la visualización, copiar el código resultante desde Embed SVG Code. - Desde la carpeta ejemplo_raw_graphs abrir index.html con Sublime Text. - Verán un montón de código. El código que copiaron de Embed SVG Code en RAW, deben incrustarlo entre (línea 56 aprox.): <!--
COLOCAR CODIGO DESDE ACA
<!--
CODIGO FIN
-->
-->
-Abrir el index.html en el navegador, podrán ver el resultado. Desde SublimeText o el editor que estén usando, pueden cambiar títulos, párrafos, y al guardar y actualizando el navegador, verán los cambios. Probar otras visualizaciones en RAW.
ejercicio 4 - familia en xml (para la casa) formatear “a manito” los datos de su familia. usando este validador: http://www.w3schools.com/xml/xml_validator.asp Chequear donde dice Syntax-Check Your XML. Pueden copiar el código a continuación y modificarlo con sus datos.
<?xml version="1.0" encoding="UTF-8"?> <familia> <familia_mama>María</familia_mama> <familia_papa>Pedro</familia_papa> <familia_hijos> <hijo> <hijo_nombre>Ignacio</hijo_nombre> </hijo> <hijo> <hijo_nombre>Iris</hijo_nombre> </hijo> </familia_hijos> </familia>
Algunas referencias web... https://shancarter.github.io/mr-data-converter/ http://codebeautify.org/xmlviewer http://jsonviewer.stack.hu/ http://www.jsoneditoronline.org/ http://www.freeformatter.com/ https://docs.webix.com/datatable__supported_data_types.html#json
formatos .csv .csv - comma separated values es un archivo de texto. los datos están separados por comas.
ejemplo: https://en.wikipedia.org/wiki/Comma-separated_values#Example validador: http://csvlint.io/ referencias: https://es.wikipedia.org/wiki/CSV
formatos .tsv .tsv - tab separated values es un archivo de texto. los datos están separados por comas.
ejemplo: https://datatables.net/extensions/buttons/examples/flash/tsv.html referencias: https://en.wikipedia.org/wiki/Tab-separated_values
formatos .xsv .xml - extensible markup language extendida desde tags html, estos pueden ser creados, estructura de datos más compleja, puede tener elementos anidados.
ejemplos: http://xml.tutiempo.net/xml/55760.xml https://www.elmostrador.cl/destacado/feed/ http://www.comocreartuweb.com/promocion-de-webs/sindicar-contenido s/ejemplo-completo.html validador: http://www.xmlvalidation.com/ http://www.w3schools.com/xml/xml_validator.asp referencias: https://es.wikipedia.org/wiki/Extensible_Markup_Language
formatos: .json .json - javascript object notation muy popular y eficiente, pensado para browsers. Estructura más compleja. estructura key : value
ejemplos: https://en.wikipedia.org/w/api.php?action=query&titles=Main%20page&f ormat=json validador: https://jsonformatter.curiousconcept.com referencias: http://www.w3schools.com/json/default.asp https://es.wikipedia.org/wiki/JSON https://dev.twitter.com/rest/reference/get/statuses/user_timeline