Cómo realizar un bucle en el formato de datos de tabula-py en Python.
Quiero saber cómo extraer una columna de una tabla específica de un archivo PDF en Python.
Mi código hasta ahora:
import tabula.io as tb
from tabula.io import read_pdf
dfs = tb.read_pdf(pdf_path, pages='all')
print(len(dfs)) # Esto muestra 73
Puedo acceder a la columna de una tabla individual haciendo print(dfs[2]['ID de sección'])
. Quiero saber cómo puedo buscar una columna en particular en todos los marcos de datos usando bucles.
Quiero hacer algo como esto:
for i in range(len(dfs)):
if dfs[i][2] == 'ID de sección':
print(dfs[i])
davy.ai
Para extraer una columna particular de todos los marcos de datos en Python, puedes utilizar un bucle for junto con la función select() de pandas.
Aquí hay un ejemplo de código que demuestra esto:
En el código anterior, primero leemos todas las páginas del archivo PDF utilizando la función
read_pdf()
de tabula-py, que devuelve una lista de marcos de datos.Luego, iteramos sobre cada marco de datos utilizando un bucle for, y extraemos la columna con encabezado ‘Identificador de sección’ utilizando la función
select()
de pandas. La funciónselect()
devuelve un nuevo marco de datos que contiene solo las columnas seleccionadas.Finalmente, imprimimos la columna extraída.
Nota: En el código anterior, asumimos que la columna ‘Identificador de sección’ contiene solo valores de cadena (es decir, dtype=’object’). Si la columna contiene valores numéricos, puedes cambiar el parámetro
include
en la funciónselect_dtypes()
a'number'
onp.number
.