Extraer tablas PDF en Python

En este artículo, aprenderá cómo extraer tablas de archivos PDF usando Python. PDF es un formato popular para compartir datos, sin embargo, extraer tablas de un PDF puede ser una tarea desafiante. Hay varias bibliotecas de Python disponibles que nos pueden ayudar con esta tarea. Aún así, podría faltar una extracción precisa de datos.

Entonces, descubramos cómo extraer datos tabulares de PDF con alta precisión en unas pocas líneas de código. Al final de este tutorial, podrá extraer tablas de archivos PDF usando Python y manipularlas según sea necesario.

Biblioteca de Python para extraer tablas de PDF

Para extraer datos de las tablas en archivos PDF, usaremos Aspose.PDF for Python. Es una poderosa biblioteca de Python con un montón de características para el procesamiento y manipulación de PDF. Puede instalar Aspose.PDF for Python usando el siguiente comando pip.

pip install aspose-pdf

Extraer una tabla de PDF en Python

Los siguientes son los pasos para extraer datos de tablas en un PDF usando Python.

  • Cargue el archivo PDF utilizando la clase Document.
  • Obtenga la referencia de la página en PDF donde se encuentra la tabla.
  • Inicialice el objeto TableAbsorber y visite la página seleccionada utilizando el método TableAbsorber.visit(Page).
  • En un bucle, recorre la lista de tablas en la colección TableAbsorber.tablelist.
  • Para cada tabla, recorre la colección de filas en AbsorbedTable.rowlist.
  • Para cada fila absorbida, itere a través de la colección de celdas en AbsorbedRow.celllist.
  • Finalmente, recorra la colección de fragmentos de texto de cada celda absorbida e imprima el texto.

El siguiente ejemplo de código muestra cómo extraer texto de una tabla PDF en Python.

import aspose.pdf as pdf

# Cargar archivo PDF
pdfDocument = pdf.Document("input.pdf")

# Inicializar objeto TableAbsorber
tableAbsorber =  pdf.text.TableAbsorber()

# Analizar todas las tablas en la primera página
tableAbsorber.visit(pdfDocument.pages[1])

# Obtener una referencia de la primera tabla
absorbedTable = tableAbsorber.table_list[0]

# Iterar a través de todas las filas de la tabla
for pdfTableRow in absorbedTable.row_list:
    
    # Iterar a través de todas las columnas en la fila
   for pdfTableCell in pdfTableRow.cell_list:
        
        # Obtener los fragmentos de texto
        textFragmentCollection = pdfTableCell.text_fragments
        
        # Iterar a través de los fragmentos de texto.
       for textFragment in textFragmentCollection:
            
            # Imprime el texto
            print(textFragment.text)
            

Herramienta en línea para extraer tablas PDF

También puede probar nuestra herramienta en línea gratuita, Extractor de tablas PDF, para extraer tablas de archivos PDF, que se basa en Aspose.PDF for Python.

Utilice la biblioteca PDF de Python de forma gratuita

Puede obtener una licencia temporal gratuita y extraer datos de tablas en archivos PDF sin ninguna limitación.

Explore la biblioteca PDF de Python

Puede explorar más sobre la biblioteca PDF de Python usando la documentación. Además, puede publicar sus consultas en nuestro foro.

Conclusión

En este artículo, ha aprendido a extraer datos de tablas en un PDF usando Python. Puede usar el mismo código con pequeñas modificaciones para extraer tablas de todas las páginas de un PDF. De manera similar, puede extraer datos de todas las tablas o de una tabla en particular en una página. Simplemente instale Aspose.PDF for Python en su aplicación y experimente una forma rápida y fácil de extraer datos tabulares de archivos PDF.

Ver también