sql >> Base de Datos >  >> RDS >> Mysql

Insertar diccionario dentro de la lista a la base de datos en python

Tienes tres tareas:

  1. Excluir los campos de fecha de la lista
  2. Configure Python para ejecutar comandos SQL
  3. Crear código para insertar los datos en la base de datos

No estoy 100 % seguro de cómo esperas almacenar los datos que has incluido en la base de datos, pero daré mi mejor estimación.

items_to_insert = []
for dictionary in ls:
  #pop removes the value from the dict
  date_for_insert = dictionary.pop("datetime", None)
  if date_for_insert is None:
    raise ValueError('No datetime - aborting')
  for key in dictionary:
    items_to_insert.append([date_for_insert, key, dictionary[key]

Este código va a cada diccionario en la lista ls, elimina la fecha y hora y luego analiza los datos en una matriz. Ahora está listo para insertar los datos

Para la tarea 2, deberá usar PyMySQL o algo similar, y configurar sus conexiones y demás, y luego, para la tarea 3, ejecute:

for item in items_to_insert:
  cursor.execute("INSERT INTO mytable (Datetime,Item,Value) VALUES ('{}', '{}', '{}')".format(item[0], item[1], item[2]))

O algo así. Esta línea es más fácil debido al preprocesamiento de datos desde arriba.

Es posible que deba formatear la fecha y hora de cierta manera para que este código funcione correctamente.