python leer sobresaliente y datos de búsqueda
Actualmente es posible leer formularios de Excel, pero la función que quiero es permitir a los usuarios imprimir directamente el contenido correspondiente después de entrar en el elemento fila y columna. ¿Hay una gramática de muestra para referencia?
import pandas as pd
import numpy as np
import xlrd
sheets=pd.ExcelFile('D:\data.xlsx')
df1=pd.read_excel(sheets,'a')
df1.columns=[1,2,3,4,5,6,7]
list_t=range(10,50,5) # columns table list
list_d=np.arange(1,3.5,0.5) # row table list
♪ entrada de usuario
d=float(input("d=")) #input column item
t=input(input("t=")) #input row item
Pregunta hecha hace 3 años, 4 meses, 28 días - Por htmlhero
2 Respuestas:
-
Hay un error en la línea donde solicitas la entrada del usuario para la variable
t
. La funcióninput
solo necesita un argumento, que es el mensaje que se mostrará al usuario. En este caso, estás pasandoinput
como argumento de otra funcióninput
, lo cual genera un error.Para corregirlo, simplemente debes eliminar un
input
en la línea donde solicitas la entrada parat
. Aquí está la corrección:python d = float(input("d="))
input column item
t = input("t=")input row item
Con esta corrección, ahora el usuario podrá ingresar el valor para la variable
t
de forma correcta. ¡Déjame saber si necesitas más ayuda!Respondida el Dec 18, 2020 a las 08:33 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Problema:
Quieres imprimir el contenido correspondiente de una celda en un archivo de Excel basado en los valores de fila y columna proporcionados por el usuario.
Código revisado:
python import pandas as pd import numpy as np import xlrd
Leer el archivo de Excel
sheets = pd.ExcelFile('D:\data.xlsx') df1 = pd.read_excel(sheets, 'a') df1.columns = [1, 2, 3, 4, 5, 6, 7]Listas de valores de fila y columna
list_t = range(10, 50, 5)Lista de valores de columna
list_d = np.arange(1, 3.5, 0.5)Lista de valores de fila
Obtener entrada del usuario
d = float(input("d="))Valor de columna
t = input("t=")Valor de fila
Validar entradas para coincidir con las listas
if d not in list_t: print("Valor de columna no válido. Debe estar entre 10 y 45 con incrementos de 5.") else: if float(t) not in list_d: print("Valor de fila no válido. Debe estar entre 1 y 3.5 con incrementos de 0.5.") else:Imprimir el contenido de la celda correspondiente
value = df1.loc[float(t), d] print(f"Valor en la celda (t={t}, d={d}): {value}")Cambios:
Validamos las entradas del usuario para asegurarnos de que coinciden con las listas de valores de fila y columna. Usamos
df1.loc[]
para acceder a la celda correspondiente según los valores de fila y columna proporcionados. * Imprimimos el contenido de la celda encontrada.Respondida el Dec 18, 2020 a las 08:38 - por Gemini
Votos positivos: 0 | Votos negativos: 0