Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

117
Vistas
Cómo filtrar un df basado en la entrada del usuario

Estoy tratando de implementar una función de autocompletar en una aplicación de matraz donde quiero que cuando el usuario ingrese caracteres, aparecerá una ventana con opciones con símbolos de acciones.

Mi actual/búsqueda html es básica intencionalmente porque quiero depurar a medida que avanzo

 def search(): from ftplib import FTP directory = 'symboldirectory' filenames = ('otherlisted.txt', 'nasdaqlisted.txt') ftp = FTP('ftp.nasdaqtrader.com') ftp.login() ftp.cwd(directory) for item in filenames: ftp.retrbinary('RETR {0}'.format(item), open(item, 'wb').write) ftp.quit() # Create pandas dataframes from the nasdaqlisted and otherlisted files. nasdaq_exchange_info = pd.read_csv('nasdaqlisted.txt', '|') other_exchange_info = pd.read_csv('otherlisted.txt', '|') nasdaq_exchange_info=nasdaq_exchange_info.query('ETF == ETF') nasdaq_exchange_info = nasdaq_exchange_info.rename(columns={'Security Name': 'Security_Name'}) nasdaq_exchange_info=nasdaq_exchange_info.query("Security_Name.str.contains(request.args.get('q'), case=False)") print(nasdaq_exchange_info) return render_template("search.html", nasdaq_exchange_info=nasdaq_exchange_info)

mi problema esta en

 nasdaq_exchange_info=nasdaq_exchange_info.query("Security_Name.str.contains(request.args.get('q'), case=False)") print(nasdaq_exchange_info)

Obtengo el nombre 'solicitud' no está definido error (si ingreso Security_Name.str.contains('apple', case=False) por ejemplo, se imprimirá). También probé todas las variaciones que se me ocurrieron, pero obtengo error de sintaxis.

Mi html se ve así:

 <body> <input autocomplete="off" autofocus placeholder="Query" type="text"> <ul></ul> <script> let input = document.querySelector('input'); input.addEventListener('input', async function() { let response = await fetch('/search?q=' + input.value); let nasdaq_exchange_info = await response.json(); let html = ''; for (let symbol in nasdaq_exchange_info) { let ticker = nasdaq_exchange_info[Security_Name].symbol; html += '<li>' + ticker + '</li>'; } document.querySelector('ul').innerHTML = html; }); </script> </body>

¿Hay alguna forma conocida de implementar que el usuario escriba q y busque en la base de datos? Sé cómo hacerlo en una base de datos usando sql pero estoy tratando de evitar eso.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

intente aplicar fstrings así:

 nasdaq_exchange_info=nasdaq_exchange_info.query(f"Security_Name.str.contains({request.args.get('q')}, case=False)")
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda