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

Indsæt ordbog i listen til databasen i python

Du har tre opgaver:

  1. Ekskluder datofelterne fra listen
  2. Konfigurer Python til at køre SQL-kommandoer
  3. Opret kode for at indsætte dataene i databasen

Jeg er ikke 100 % sikker på, hvordan du håber at gemme de data, du har inkluderet i databasen, men jeg vil give mit bedste gæt.

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]

Denne kode går til hver ordbog i ls-listen, fjerner datetime og parser derefter dataene i en matrix. Nu er du indstillet til at indsætte dataene

Til opgave 2 skal du bruge PyMySQL eller noget lignende, og konfigurere dine forbindelser og ting, og derefter til opgave 3 køre:

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

Eller noget i den stil. Denne linje er lettere på grund af dataforbehandlingen fra oven.

Du skal muligvis formatere dato og klokkeslæt på en bestemt måde, for at denne kode kan fungere korrekt.




  1. Sådan får du unikke / særskilte elementer inde i JSON-arrayet i MySQL 5.7

  2. Hvordan håndhæver PostgreSQL den UNIKKE begrænsning / hvilken type indeks bruger den?

  3. Skal hver brugertabel have et grupperet indeks?

  4. Slet alle rækker undtagen første N fra en tabel med en enkelt kolonne