sql >> Database >  >> RDS >> Mysql

Voeg woordenboek in lijst toe aan database in python

Je hebt drie taken:

  1. Sluit de datumvelden uit de lijst
  2. Python instellen om SQL-opdrachten uit te voeren
  3. Creëer code om de gegevens in de database in te voegen

Ik weet niet 100% zeker hoe u de gegevens die u in de database hebt opgenomen, hoopt op te slaan, maar ik geef mijn beste schatting.

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]

Deze code gaat naar elk woordenboek in de ls-lijst, verwijdert de datetime en parseert de gegevens vervolgens in een array. Nu bent u klaar om de gegevens in te voegen

Voor taak 2 moet je PyMySQL of iets dergelijks gebruiken, en je verbindingen en zo instellen, en dan voor taak 3 uitvoeren:

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

Of zoiets. Deze regel is gemakkelijker vanwege de voorverwerking van gegevens van bovenaf.

Mogelijk moet u de datum/tijd op een bepaalde manier formatteren om deze code correct te laten werken.




  1. SQL 'LIKE BINARY' langzamer dan gewoon 'LIKE'?

  2. Invoegen in tabel met select statement plus extra kolom in SQL Server 2008

  3. Hoe gebruik ik een IF-statement in een MySQL-joinquery?

  4. Oracle Date - Hoe jaren tot nu toe toe te voegen