Las tablas no se detecta con tabula y camelot

0

Pregunta

He tratado de extraer de las tablas de los archivos Pdf que no están en el formato adecuado que creo. Las tablas en estos archivos Pdf se tiene un formato de tabla, pero no cerrado correctamente con verical de las fronteras. enter image description here Voy a adjuntar el pdf de ejemplo y de salida con ambas bibliotecas. Cuando he intentado utilizar la tabla para la tabla de detección, un espacio en blanco datadrame se devuelve en todas las páginas en pdf.

introduzca 0 para páginas individuales, 1 para todos, 2 para una página específica: 2 introduzca el número de página: 25 ninguna de las tablas se encuentran en esta página por tabula.

Y cuando yo uso camelot no es la misma respuesta cuando yo uso flovor='lattice'

introduzca 0 para páginas individuales, 1 para todas las páginas, 2 para las páginas en las tablas son detectados por tabula, 3 de páginas específicas: 3 introduzca 0 para la red de o a 1 para la secuencia: 0 introduzca el número de página: 25 ninguna de las tablas se encuentran en esta página por camelot.

y cuando yo uso flovor='stream', Tengo un dataframe que tiene cada línea, leer línea por línea, con la ficha de datos separados, pero con texto normal, así como en que dataframe.

introduzca 0 para páginas individuales, 1 para todas las páginas, 2 para las páginas en las tablas son detectados por tabula, 3 de páginas específicas: 3 introduzca 0 para la red de o a 1 para la secuencia: 1 introduzca el número de página: 25 enter image description here

Sólo tengo una manera eficaz de detectar la tabla y el extracto de la misma, si los datos vertical que encierra la tabla de líneas no están presentes. Ambos tabula y camelot bibliotecas están trabajando muy bien si la tabla está en el formato adecuado delimitada por líneas verticales y horizontales.

nlp pdf python python-camelot
2021-11-22 15:08:39
2

Mejor respuesta

0

Este método puede ayudarle a: https://camelot-py.readthedocs.io/en/master/user/advanced.html#specify-column-separators

Usted puede encontrar especificar el separador vertical a camelot por el paso de las coordenadas x, primero debe utilizar el ".plot()" método de camelot para ver la tabla en el pdf y tomar nota de las coordenadas x donde desea que el vertical separadores para luego ser que les pase como a continuación:

# to get the x-coordinates
tables = camelot.read_pdf('your_pdf.pdf')
camelot.plot(tables[0], kind='text').show()

#to pass the x-coordinates
camelot.read_pdf('your_pdf.pdf', flavor='stream', columns=['x1,x2']) 
2021-11-22 15:52:19
-1

Las tablas no se detecta con tabula y camelot

Recientemente he sido de trabajo para extraer la tabla de PDF.

Tabula y camelot no funciona para mí tampoco, pero pdfplumber me de resultado requerido.

import pdfplumber
pdf = pdfplumber.open(filepath)
table = pdf.pages[1].extract_table(table_settings=
{"vertical_strategy": "text", "horizontal_strategy": "text"})
df = pd.DataFrame(table, columns=table)
df.to_csv(outfile2, mode='a', index=False)
2021-11-27 11:30:02

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................