Cómo convertir tablas de PDF a Excel o CSV con Tabula

Mirando los datos históricos que ofrece un observatorio meteorológico de mi ciudad, veo que sólo los ofrecen gráficamente y para descargar como PDF. No entiendo porqué no dejan descargarlos en csv que sería mucho más útil para todos.

Así que he estado buscando una solución para pasar estas tablas de pdf a csv o si alguien quiere a formato Excel o Libre Office. Me gusta csv porque con un csv haces de todo puedes tratarlo con python y sus librerías o puedes importarlo fácilmente en cualquier hoja de cálculo.

Como la idea es conseguir un proceso automatizado lo que quiero es un script para trabajar con Python y aquí es donde entra Tabula.

Convertir pdf a csv con Tabula

Los pasos y funcionamiento es muy sencillo. Lo primero será instalar la librería de Tabula en nuestro entorno de desarrollo. Tabula nos permite extraer datos de tablas en PDF en dataframes de Pandas la librería de Python optimizada pra trabajr con csv y arrays.

También permite extraer y convertir entre PDF, JSON, CSV y TSV. Una joyita. Puedes encontrar mucha más información en su repositorio de Github

Yo aprovecho todo el trabajo de días anteriores y lo instalo en Anaconda. En el enlace puedes ver como instalar Anaconda.

Insatalamos Tabula

A la hora de ejecutarlo a mí me daba un error

la solución como indican en su documentación fue desinstalar la versión antigua de Tabula e instalar la nueva.

Creamos el ejecutable .py

Creo el ejecutable .py que llamo pdftocsv.py lo meto en mi carpeta Descargas/eltiempo y es un archivo con el siguiente código

El pdf a leer se llama inforatge.pdf y le digo que la salida se llame out.csv y se quedará en la carpeta en la que estamos trabajando.

Nos vamos al directorio donde tenemos tanto el ejecutable y el pdf que queremos convertir. Es importante porque si nos dirá que no encuentra el archivo.

En este directorio tenemos el PDF, el archivo .py que hemos creado y ahí nos devolverá el csv que queremos.

Ejecutamos el código

Fíjate que he usado python, es decir que le digo que lo ejecute con python 2 y no con python3 que falla. Y ya está si no devuelve ningún error ya lo tenemos.

Hemos añadido 3 líneas más al archivo para el control de tiempo de ejecución. al final hemos dejado nuestro archivo pdftocsv.py como

Más opciones de Tabula

Más ejemplos de cosas que podemos hacer. Hay muchas opciones, lo mejor es pasarse por el repositorio de Github oficial que he dejado

Y sin duda una de las cosas más útiles convertir todos los archivos PDF, JSON, etc de un directorio.

Con esto podremos automatizar tareas que de otra forma serían largas y tediosas. Al final este es uno de los motivos de usar esta librería.

Convertir pdf a excel online

Si lo que queremos es simplemente convertir un archivo, extraer los datos de la tabla de PDF a Excel, Librecalc o similar, no es necesario complicarlo tanto. Hay herramientas disponibles para hacer esta tarea, algunas para instalarlas y otras para hacer el trabajo online.

Yo he probado estas dos herramientas online y funcionan muy bien.

Ten en cuenta que esto no es un trabajo automatizado, y por eso el estudio de estas herramientas no ha sido exahustivo. Tan solo las comento para quien le pueda interesar.

El método clásico

Y siempre nos queda el método clásico, el más chapucero y costoso pero que al final es una opción si haypoco trabajo.

Copiar las celdas de la tabla del pdf y pegarlas en nuestra hoja de cálculo.

Te puede interesar

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*