Pdfplumber omite la primera columna y la última fila de todas las tablas dentro de un esquema.
Soy un traductor de español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código y la salida en markdownSoy nuevo en pdfplumber, y estoy asombrado por cómo extrae el texto de las tablas.
Es fácil trabajar con tablas de todas las páginas, pero en mi caso, estoy usando algunos diagramas topológicos con algunas tablas dentro.
Falla al extraer la primera columna y la última fila de cada tabla en el documento. He intentado ajustar varios parámetros de configuración en la variable table_settings, desafortunadamente no he podido lograr ningún resultado mejor (en mi caso, el resto del texto en el esquema se considera como una tabla en caso de que use “texto” en lugar de “líneas”).
¿Alguna ayuda con esto? Estoy usando Python 3.9.8 y el PDF de prueba se puede encontrar en: diagrama.pdf
El código fuente es el siguiente:
import pdfplumber
pdf_file = "Diagrama.pdf"
tables=[]
with pdfplumber.open(pdf_file) as pdf:
pages = pdf.pages
tbl = pages[0].extract_tables()
print(f'{tbl}')
davy.ai
Solución
Parece que pdfplumber está teniendo problemas para reconocer la primera columna y la última fila de las tablas en su documento de esquemas topológicos. Esto puede deberse al diseño o formato de las tablas en el documento.
Para resolver este problema, puede intentar usar la opción
snap_tolerance
en el parámetrotable_settings
para ajustar la tolerancia de espaciado que puede estar causando el problema. También puede intentar ajustar otros parámetros de configuración comovertical_strategy
yhorizontal_strategy
para mejorar la detección de tablas.Aquí hay un fragmento de código actualizado con algunas opciones de configuración sugeridas para probar:
Puede ajustar estos parámetros y/o experimentar con otras opciones para ver si mejoran la extracción de tablas. Además, también puede intentar utilizar otras bibliotecas o herramientas de Python como Tabula o Camelot para extraer tablas del documento PDF.