Buscar en archivo de excel un valor y darme detalles de la fila con python

Iniciado por SERGIO_@PRENDE, 16 Septiembre 2021, 11:22 AM

0 Miembros y 1 Visitante están viendo este tema.

SERGIO_@PRENDE

Saludos soy nuevo en python, tengo que hacer un ejercicio el cual es buscar un valor en una tabla de excel, al encontrarlo deseo obtener los valores de esa fila donde esta alojado el valor que se busco, he tratado de ayudarme con algunos ejemplos pero no he llegado lejos, me sale error alguien me puede ayudar.

deseo buscar de la tabla con el dato idN


tabla orden de excel

producto                      precio               detalles                           idN
JUGUETE                      1,000.00          caja con juegos                3
CAJA  DE GALLETAS      50                    surtido                            2
papas                         12                     enchiladas                       1


Código (python) [Seleccionar]
import pandas as pd

df = pd.read_excel(
   'productos.xls',
   header=0,
   sheet_name='Hoja1',
   skiprows=2,
   usecols="A:E"
   )

while busqueda:= input('Buscar por numero de ingreso: '):
   cont = df[df['idN'] == busqueda]
   if not cont.empty:
       print('¡El contenedor se ha encuentrado!')
       print(precio)
       print(detalle)
   
   else:
       print('¡El contenedor no se ha encontrado!\n')







EdePC

Pero que error te muestra?

Supongo que tienes instalado panda y sus dependencias, luego solo faltaría pasar a integer el valor de busqueda para que concuerde con el tipo reconocido en el DataFrame:

Código (python) [Seleccionar]
import pandas as pd
df = pd.read_excel('productos.xlsx')
print(df)
while busqueda:= input('Buscar por número de ingreso: '):
  cont = df[df['idN'] == int(busqueda)]
  if not cont.empty:
    print('¡El contenedor se ha encontrado!')
    print(cont.iloc[0]['precio'])
    print(cont.iloc[0]['detalles'])
  else:
    print('¡El contenedor no se ha encontrado!\n')


CitarC:\Users\EdSon\Desktop>panda.py

           producto  precio        detalles  idN
0           JUGUETE    1000  caja de juegos    3
1  CAJA DE GALLETAS      50         surtido    2
2             papas      12      enchiladas    1

Buscar por número de ingreso: 3
¡El contenedor se ha encontrado!
1000
caja de juegos

Buscar por número de ingreso: 2
¡El contenedor se ha encontrado!
50
surtido

Buscar por número de ingreso: 1
¡El contenedor se ha encontrado!
12
enchiladas
Buscar por número de ingreso:

SERGIO_@PRENDE

gracias, solo era como vincular los datos y saber sus valores, gracias me ayudo mucho

SERGIO_@PRENDE

Saludos como le dije soy nuevo, una pregunta mas como podría ocupar uno de los datos en una función global para después ocuparla.

Código (python) [Seleccionar]
import pandas as pd
df = pd.read_excel('productos.xlsx')
print(df)
while busqueda:= input('Buscar por número de ingreso: '):
  cont = df[df['idN'] == int(busqueda)]
  if not cont.empty:
    print('¡El contenedor se ha encontrado!')
    print(cont.iloc[0]['precio'])
   ## print(cont.iloc[0]['detalles'])
MANDARglobal= cont.iloc[0]['detalles']
print(MANDARglobal)
  else:
    print('¡El contenedor no se ha encontrado!\n')