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!