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

246
Vistas
¿Cómo inserto todos los elementos en una lista de Python en filas individuales de una columna de SQLAlchemy?

Intentando insertar los elementos de exp_data en filas individuales de la columna SQLAlchemy exp_list dentro de la tabla de Expiration mediante programación usando Python dentro del marco FastAPI:

 exp_data = ['2020-08-27', '2020-09-03', '2020-09-10', '2020-09-17'] for i in exp_data: exp = Expiration(symbol=stock.symbol, exp_list=exp_data) db.add_all([stock, exp]) db.commit()

Y mi modelo SQLAlchemy es:

 from sqlalchemy import Boolean, Column, ForeignKey, Numeric, Integer, String, Date, Float from sqlalchemy.orm import relationship, backref from database import Base class Stock(Base): __tablename__ = "stocks" id = Column(Integer, primary_key=True, index=True) symbol = Column(String) price = Column(Float) class Expiration(Base): __tablename__ = "expirations" id = Column(Integer, primary_key=True, index=True) symbol = Column(String, ForeignKey(Stock.symbol), index=True) exp_list = Column(String)

Puse exp_data en el código para mostrar el tamaño: estoy extrayendo estos datos y quiero que el programa inserte automáticamente los datos en la base de datos simplemente publicando una solicitud HTTP del tablero de cotizaciones en el servidor. He estado recibiendo este error:

 sqlalchemy.exc.InterfaceError: (sqlite3.InterfaceError) Error binding parameter 1 - probably unsupported type. [SQL: INSERT INTO expirations (symbol, exp_list) VALUES (?, ?)] [parameters: ('FB', ['2020-08-27', '2020-09-03', '2020-09-10', '2020-09-17'])]

Creo que el problema es con el ciclo for en el primer bloque de código: he estado tratando de encontrar estrategias para iterar a través de cada valor, como '2020-08-27' , e insertarlo en filas individuales. Cualquier ayuda es muy apreciada - ¡gracias!

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Probablemente quieras algo como

 exp_data = ['2020-08-27', '2020-09-03', '2020-09-10', '2020-09-17'] exps = [] for date in exp_data: exps.append(Expiration(symbol=stock.symbol, exp_list=date)) instances = [stock] instances.extend(exps) db.add_all(instances) db.commit()

es decir, recorrer la lista de fechas y crear una instancia de Expiration para cada una.

over 4 years ago · Santiago Trujillo Denunciar

0

Su columna: exp_list definida como cadena/columna de texto

exp_list = Columna (Cadena)

Y luego le pasas una lista de python

exp_data = ['2020-08-27', '2020-09-03', '2020-09-10', '2020-09-17']
exp = Caducidad(símbolo=stock.símbolo, exp_list = exp_data )

Debes pasar la lista como cadena.

 exp = Expiration(symbol=stock.symbol, exp_list=','.join(exp_data))
over 4 years ago · Santiago Trujillo 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