Title Image

Blog

Copy & paste vintage

Tabula, o porqué copiar tablas de archivos PDF no es divertido

  |   Tratamiento de datos
Copy & paste vintage

Copy & Paste vintage

Resultado curioso como algunos proveedores de datos públicos, donde la normalización es una cuasi-religión, distribuyen esta misma información en formatos penosos para su reutilización. Y es que digan lo que digan extraer tablas de archivos PDF no es divertido.

En 2006 Tim Berners-Lee, padre y gurú de la World Wide Web, sugirió una escala para determinar cuán de reutilizables son los datos abiertos facilitados por los gobiernos. Esta clasificación del 1 al 5 en función del grado de apertura y la accesibilidad a la información, varía desde aquella que está en formatos difíciles de manipular o que requiere programar scrapers para su captura, como los archivos de imágenes, hasta la que es plenamente reutilizable y contextualizada mediante enlaces que apuntan a servicios de terceros, como por ejemplo bases de datos semánticas como DBpedia, Freebase, Geonames o Wikidata.

Un ejemplo sería a la pregunta «¿Qué temperatura hará en Madrid en los próximos tres días?»:

Poner en la web el pronóstico de temperaturas en cualquier formato no normalizado.
★★ Hacerlo bajo un formato de datos estructurado.
★★★ Publicar las temperaturas en un formato libre normalizado.
★★★★ Usar un URI para identificar el pronóstico y que se pueda apuntar a esos datos.
★★★★★ Enlazar el pronóstico del tiempo con otros proveedores de datos para contextualizarlos.

Pues bien en el primer rango -el de menor reutilización- se situaría, ente otros, el PDF como formato no estructurado, es decir, que se requieren técnicas para tratar el documento. Y es que todos sabemos lo duro que puede resultar trabajar con datos tabulados (o no) proporcionados en archivos PDF, donde algo tan sencillo como copiar y pegar se puede convertir en una pesadilla.

En esta entrada veremos como capturar información geográfica de archivos PDF para, en una entrada posterior, extenderlos mediante su contextualización espacial aprovechando servicios on-line de georreferenciación.

Liberando datos atrapados en archivos pdf: ¡Di «Hola» a Tabula!

Existen extractores de datos, como por ejemplo Tabula, que nos permiten extraer los datos en formato CSV. Como documento de ejemplo utilizaremos el Directorio de direcciones y teléfonos del Ministerio de Justicia en formato PDF, disponible en la web datos.gob.es.

La intención final es obtener los pares de coordenadas latitud/longitud de cada juzgado de Cantabria mediante geocodificación a partir de una columna que contiene direcciones postales.

Cargaremos el archivo PDF que queremos procesar en Tabula.

Seleccionar archivo PDF en Tabula

Una vez se haya cargado el archivo avanzamos hasta la página 66 donde se encuentra la tabla que queremos capturar. La tabla se extiende por sucesivas páginas, por lo que nos acordaremos de indicar que queremos realizar una multiselección de tablas y marcaremos con el ratón los datos tabulados que queremos extraer.

Multiselección de texto en Tabula

Multiselección de texto en Tabula

El programa nos mostrará como quedarán finalmente capturados los datos y si consideramos que la extracción es correcta podremos descargar los datos como formato CSV.

Extracción de datos tabulares con Tabula.

 

En Alter Geosistemas utilizamos frecuentemente este y otros tipos de herramientas para servicios de recolección y normalización de datos estructurados procedentes de fuentes diversas que requieren el raspado de datos con scrapers, el uso de programas de limpieza y análisis de datos o la automatización de recolección de fuentes mediante herramientas ETL.