es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tablas no detectadas con Tabula y Camelot.

Intenté extraer tablas de PDF que no están en el formato adecuado según creo. Las tablas en estos PDF tienen formato de tabla pero no están cerradas correctamente con bordes verticales. Adjuntaré el pdf de muestra y la salida con ambas bibliotecas. Cuando intenté utilizar tabula para la detección de tablas, se devuelve un dataframe en blanco en todas las páginas del pdf.

ingrese 0 para páginas individuales, 1 para todas, 2 para una página específica: 2
Ingrese número de página: 25
tabula no encontró tablas en esta página.

Y cuando uso camelot no hay respuesta cuando uso flavor='lattice'.

ingrese 0 para páginas individuales, 1 para todas las páginas, 2 para las páginas en las que se detectaron tablas con tabula, 3 para páginas específicas: 3
Ingrese 0 para lattice o 1 para stream: 0
Ingrese número de página: 25
camelot no encontró tablas en esta página.

Y cuando uso flavor='stream', obtengo un dataframe que tiene cada línea leída línea por línea con datos separados por tabuladores, pero también incluirá texto normal en ese dataframe.

ingrese 0 para páginas individuales, 1 para todas las páginas, 2 para las páginas en las que se detectaron tablas con tabula, 3 para páginas específicas: 3
Ingrese 0 para lattice o 1 para stream: 1
Ingrese número de página: 25

Solo necesito una manera eficiente de detectar la tabla y extraer los mismos datos si no están presentes las líneas verticales que encierran la tabla. Ambas bibliotecas, tabula y camelot, funcionan bien si la tabla está en el formato adecuado cerrado por líneas verticales y horizontales.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Según el escenario presentado, parece que no hay una manera eficiente de detectar tablas y extraer datos de PDFs que no estén en el formato adecuado con líneas de tabla vertical. Tanto la biblioteca Tabula como la biblioteca Camelot funcionan bien si la tabla se encuentra en un formato adecuado encerrado por líneas verticales y horizontales.

    Una solución alternativa podría ser preprocesar el PDF mediante la identificación de las regiones de la tabla y añadir líneas de tabla verticales para convertirla en un formato adecuado de tabla. Esto se puede lograr utilizando técnicas de PNL junto con bibliotecas de Python como PyPDF2, pdfminer, etc.

    Otro enfoque podría ser extraer los datos manual o semi-manualmente utilizando herramientas como Adobe Acrobat o Adobe Photoshop. Sin embargo, este es un proceso tedioso y que consume mucho tiempo que puede no ser factible para conjuntos de datos grandes.

    En resumen, no existe una solución sencilla para detectar tablas y extraer datos de PDFs que no estén en el formato adecuado. Se requiere preprocesamiento o intervención manual, lo que puede ser intensivo en recursos y consumir tiempo.

Comments are closed.