Heim >Datenbank >MySQL-Tutorial >Kann ich mit mysqldb einen Pandas-DataFrame direkt in MySQL einfügen?

Kann ich mit mysqldb einen Pandas-DataFrame direkt in MySQL einfügen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-05 20:42:17642Durchsuche

Can I Directly Insert a Pandas DataFrame into MySQL Using mysqldb?

Einfügen eines Pandas-Datenrahmens in eine MySQL-Datenbank mit mysqldb

Frage:

Kann mysqldb verwendet werden, um einen direkt einzufügen Vervollständigen Sie den Pandas-Datenrahmen in eine vorhandene MySQL-Tabelle oder ist eine Iteration über den Datenrahmen erforderlich Zeilen?

Antwort:

Ja, mysqldb kann verwendet werden, um einen Datenrahmen in eine vorhandene MySQL-Tabelle einzufügen, ohne dass eine Zeileniteration erforderlich ist. So können Sie es machen:

Bibliotheken importieren und MySQL-Verbindung herstellen:

from pandas.io import sql
import MySQLdb

# Connect to MySQL database
con = MySQLdb.connect(host="localhost", user="root", password="password", database="your_database")

Datenrahmen in Tabelle einfügen:

Sie können die Funktion sql.write_frame von Pandas verwenden, um den Datenrahmen in MySQL zu schreiben Tabelle.

# Create a dataframe
df = pd.DataFrame({'ID': [1, 2, 3], 'Data1': [4, 5, 6], 'Data2': [7, 8, 9]})

# Write dataframe to table
sql.write_frame(df, con=con, name='your_table_name', if_exists='replace', flavor='mysql')

Im obigen Code:

  • con: Stellt die hergestellte MySQL-Verbindung dar.
  • name: Name der Tabelle in der Datenbank, in die der Datenrahmen soll eingefügt werden.
  • if_exists: Definiert, wie mit einer vorhandenen Tabelle umgegangen wird. Optionen sind „fail“, „replace“ und „append“. „replace“ löscht die vorhandene Tabelle und erstellt sie mit den Daten des Datenrahmens neu.
  • flavor: Gibt die Datenbankvariante an, in diesem Fall „mysql“.

Verwenden der to_sql-Methode:

Alternativ können Sie auch das neuere to_sql verwenden Methode in Pandas:

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

Hinweise:

  • Das Flavour-Argument sollte zum Einfügen in eine MySQL-Datenbank auf „mysql“ gesetzt werden.
  • Das if_exists-Argument kann auf „fail“ gesetzt werden, um einen Fehler auszulösen, wenn die Tabelle bereits existiert, und „replace“, um die Tabelle zu löschen und neu zu erstellen Tabelle oder „anhängen“, um sie in eine vorhandene Tabelle einzufügen.
  • MySQLdb wird für die Python-Versionen 2.7 und 3.5 empfohlen. Erwägen Sie für Python 3.6 und höher die Verwendung von PyMySQL oder mysqlclient.

Das obige ist der detaillierte Inhalt vonKann ich mit mysqldb einen Pandas-DataFrame direkt in MySQL 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