Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wörterbuch innerhalb der Liste in die Datenbank in Python einfügen

Sie haben drei Aufgaben:

  1. Datumsfelder aus der Liste ausschließen
  2. Richten Sie Python zum Ausführen von SQL-Befehlen ein
  3. Erstellen Sie Code, um die Daten in die Datenbank einzufügen

Ich bin mir nicht 100 % sicher, wie Sie die Daten speichern möchten, die Sie in die Datenbank aufgenommen haben, aber ich gebe mein Bestes.

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]

Dieser Code geht zu jedem Wörterbuch in der ls-Liste, entfernt die Datumszeit und parst dann die Daten in ein Array. Jetzt können Sie die Daten einfügen

Für Aufgabe 2 müssen Sie PyMySQL oder etwas Ähnliches verwenden und Ihre Verbindungen und Sachen einrichten, und dann für Aufgabe 3 ausführen:

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

Oder sowas ähnliches. Diese Zeile ist einfacher wegen der Datenvorverarbeitung von oben.

Möglicherweise müssen Sie datetime auf eine bestimmte Weise formatieren, damit dieser Code richtig funktioniert.