Heim  >  Artikel  >  Datenbank  >  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
Mary-Kate OlsenOriginal
2024-11-07 22:25:03742Durchsuche

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
        ))

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)           
    """

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()

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!

Stellungnahme:
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