Heim >Datenbank >MySQL-Tutorial >Wie kann ich einen Pandas-DataFrame effizient in eine MySQL-Datenbank einfügen?

Wie kann ich einen Pandas-DataFrame effizient in eine MySQL-Datenbank einfügen?

DDD
DDDOriginal
2024-12-04 06:29:16581Durchsuche

How Can I Efficiently Insert a Pandas DataFrame into a MySQL Database?

Pandas-Datenrahmen über MySQLdb in die Datenbank einfügen

Die Verbindung zu MySQL mit Python ist unkompliziert und Vorgänge wie das Einfügen von Zeilen werden gut unterstützt. Wenn es jedoch darum geht, einen gesamten Pandas-Datenrahmen in eine vorhandene Tabelle einzufügen, stellt sich die Frage: Ist ein direktes Einfügen möglich oder ist eine Iteration über Zeilen erforderlich?

Direktes Einfügen mit to_sql

Die bevorzugte Methode zum Einfügen eines Datenrahmens in MySQL ist die Verwendung von to_sql Methode:

df.to_sql(con=con, name='table_name_for_df', if_exists='replace', flavor='mysql')

Verbindungsaufbau mit MySQLdb

Um eine Verbindung zu MySQL mit MySQLdb herzustellen, führen Sie Folgendes aus:

from pandas.io import sql
import MySQLdb

con = MySQLdb.connect()  # may need additional connection parameters

Flavor und if_exists

Festlegen des Flavors von write_frame auf „mysql“ ermöglicht das Schreiben in MySQL. Der Parameter if_exists steuert das Verhalten, wenn die Tabelle bereits vorhanden ist. Die Optionen sind „fail“, „replace“ und „append“.

Beispiel

Stellen Sie sich ein einfaches vor Tabelle mit den Spalten ID, Daten1 und Daten2 und einem passenden Pandas-Datenrahmen:

df = pd.DataFrame({'ID': [1, 2, 3], 'data1': ['a', 'b', 'c'], 'data2': [10, 20, 30]})

Diesen Datenrahmen einfügen in die Datenbank mit der to_sql-Methode würde wie folgt aussehen:

sql.write_frame(df, con=con, name='example_table', if_exists='replace', flavor='mysql')

In diesem Beispiel ist „example_table“ der Tabellenname in der Datenbank und „replace“ bedeutet, dass die vorhandene Tabelle durch ersetzt wird Daten aus dem Datenrahmen.

Das obige ist der detaillierte Inhalt vonWie kann ich einen Pandas-DataFrame effizient in eine MySQL-Datenbank einfügen?. 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