Mysql
 sql >> Database >  >> RDS >> Mysql

Inserisci il dizionario nell'elenco nel database in Python

Hai tre compiti:

  1. Escludi i campi della data dall'elenco
  2. Configura Python per eseguire comandi SQL
  3. Crea codice per inserire i dati nel database

Non sono sicuro al 100% di come speri di archiviare i dati che hai incluso nel database, ma darò la mia ipotesi migliore.

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]

Questo codice va a ogni dizionario nell'elenco ls, rimuove il datetime e quindi analizza i dati in una matrice. Ora sei pronto per inserire i dati

Per l'attività 2 dovrai usare PyMySQL o qualcosa del genere, e configurare le tue connessioni e cose, quindi per l'attività 3 eseguire:

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

O qualcosa di simile. Questa riga è più semplice grazie alla preelaborazione dei dati dall'alto.

Potrebbe essere necessario formattare la data e l'ora in un determinato modo affinché questo codice funzioni correttamente.