Este tema trata sobre la forma de extraer tablas de un PDF ingresando a Python. Primero, analicemos qué es un archivo PDF.
PDF (Formato de documento portátil) es un formato de archivo que ha capturado todo el clima de un documento impreso como un mapa de bits que puede ver, navegar, imprimir o reenviar fácilmente a otra persona. Los archivos PDF se crean con Adobe Acrobat,
Ejemplo :
Supongamos que un archivo PDF contiene una tabla
ID_usuario | Nombre | Ocupación |
1 | David | Gestión de productos |
2 | León | administrador IT |
3 | John | Abogado |
Y queremos leer esta tabla en nuestro Programa Python. Este problema se puede resolver utilizando varios enfoques. Vamos a discutir cada uno por uno.
Método 1: Usar tabula-py
El tabula-py es un contenedor Python simple de tabula-java, que puede leer tablas en un PDF. Puede instalar la biblioteca tabula-py usando el comando.
pip install tabula-py pip install tabulate
Los métodos utilizados en el ejemplo son:
read_pdf(): lee los datos de las tablas del archivo PDF de la dirección dada
tabular(): organiza los datos en un formato de tabla
El archivo PDF utilizado aquí es PDF .
Python3
from tabula import read_pdf from tabulate import tabulate #reads table from pdf file df = read_pdf("abc.pdf",pages="all") #address of pdf file print(tabulate(df))
Producción:
Método 2: Usar Camelot
Camelot es una biblioteca de Python que ayuda a extraer tablas de archivos PDF. Puede instalar la biblioteca camelot-py usando el comando
pip install camelot-py
Los métodos utilizados en el ejemplo son:
read_pdf(): lee los datos de las tablas del archivo pdf de la dirección dada
tablas[índice].df: apunta hacia la tabla deseada de un índice dado
El archivo PDF utilizado aquí es PDF .
Python3
import camelot # extract all the tables in the PDF file abc = camelot.read_pdf("test.pdf") #address of file location # print the first table as Pandas DataFrame print(abc[0].df)
Producción:
Publicación traducida automáticamente
Artículo escrito por biswasarkadip y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA