Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insérer un dictionnaire dans la liste dans la base de données en python

Vous avez trois tâches :

  1. Exclure les champs de date de la liste
  2. Configurer Python pour exécuter des commandes SQL
  3. Créer du code pour insérer les données dans la base de données

Je ne sais pas à 100 % comment vous espérez stocker les données que vous avez incluses dans la base de données, mais je vais donner ma meilleure estimation.

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]

Ce code va à chaque dictionnaire de la liste ls, supprime la date et l'heure, puis analyse les données dans un tableau. Vous êtes maintenant prêt à insérer les données

Pour la tâche 2, vous devrez utiliser PyMySQL ou quelque chose comme ça, et configurer vos connexions et tout, puis pour la tâche 3, exécutez :

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

Ou quelque chose comme ça. Cette ligne est plus facile en raison du prétraitement des données par le haut.

Vous devrez peut-être formater la date et l'heure d'une certaine manière pour que ce code fonctionne correctement.