Heim > Datenbank > MySQL-Tutorial > Wie fügt man mithilfe von Pythonsexecutemany effizient eine Liste von Wörterbüchern in eine MySQL-Datenbank ein?

Wie fügt man mithilfe von Pythonsexecutemany effizient eine Liste von Wörterbüchern in eine MySQL-Datenbank ein?

Mary-Kate Olsen
Freigeben: 2024-11-07 22:25:03
Original
857 Leute haben es durchsucht

How to Efficiently Insert a List of Dictionaries into a MySQL Database Using Python's executemany?

Verwenden von „executemany“ zum Einfügen einer Liste von Wörterbüchern aus Python in MySQL

In Python ist „executemany“ ein wertvolles Werkzeug zum effizienten Einfügen mehrerer Zeilen eine MySQL-Datenbank. Stellen Sie sich das folgende Szenario vor: Sie verfügen über eine Liste von Wörterbüchern mit dem Namen „itemBank“, wobei jedes Wörterbuch Daten aus einer Zeile in einer Tabelle darstellt. Um diese Daten in die Tabelle TABLE1 einzufügen, verwenden Sie derzeit eine aufwändige Methode, bei der für jede Zeile separate SQL-Abfragen ausgeführt werden.

Um diesen Prozess zu optimieren, sehen wir uns an, wie Sie „executemany“ verwenden. Der erste Schritt besteht darin, itemBank in eine Liste von Tupeln umzustrukturieren. Jedes Tupel enthält die Werte, die Sie in die Datenbank einfügen möchten, extrahiert aus den entsprechenden Wörterbüchern.

itemBank = [] 
for row in rows:
    itemBank.append((
        tempRow2['Item_Name'],
        tempRow1['Item_Price'],
        tempRow3['Item_In_Stock'],
        tempRow4['Item_Max'], 
        getTimeExtra
        ))
Nach dem Login kopieren

Als nächstes erstellen Sie eine SQL-Abfragevorlage (q), die die Tabellenspalten und Platzhalter für die Werte definiert eingefügt werden.

q = """ insert ignore into TABLE1 (
        Item_Name, Item_Price, Item_In_Stock, Item_Max, Observation_Date ) 
        values (%s,%s,%s,%s,%s)           
    """
Nach dem Login kopieren

Verwenden Sie abschließend die Methode „executemany“, um die Abfrage mit der Liste der Tupel (itemBank) als Parameter auszuführen.

try:
    x.executemany(q, itemBank)
    conn.commit()
except:
    conn.rollback()
Nach dem Login kopieren

Dieser Ansatz reduziert die Anzahl der Tupel erheblich SQL-Abfragen werden ausgeführt, wodurch die Effizienz des Dateneinfügungsprozesses verbessert wird.

Das obige ist der detaillierte Inhalt vonWie fügt man mithilfe von Pythonsexecutemany effizient eine Liste von Wörterbüchern in eine MySQL-Datenbank ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage