Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

239
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda