Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie füge ich Pandas-Datenrahmen über mysqldb in die Datenbank ein?

Aktualisierung:

Es gibt jetzt einen to_sql -Methode, was die bevorzugte Methode ist, anstatt write_frame :

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

Beachten Sie auch:Die Syntax kann sich in Pandas 0.14 ändern...

Sie können die Verbindung mit MySQLdb herstellen :

from pandas.io import sql
import MySQLdb

con = MySQLdb.connect()  # may need to add some other options to connect

Einstellen des flavor von write_frame zu 'mysql' bedeutet, dass Sie in mysql schreiben können:

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

Das Argument if_exists teilt Pandas mit, wie sie handeln sollen, wenn der Tisch bereits existiert:

if_exists: {'fail', 'replace', 'append'} , standardmäßig 'fail'
     fail :Falls Tabelle existiert, nichts tun.
     replace :Wenn eine Tabelle vorhanden ist, löschen Sie sie, erstellen Sie sie neu und fügen Sie Daten ein.
     append :Wenn Tabelle vorhanden, Daten einfügen. Erstellen, falls nicht vorhanden.

Obwohl der write_frame Dokumente schlagen derzeit vor, dass es nur auf sqlite funktioniert, mysql scheint unterstützt zu werden und tatsächlich gibt es ziemlich viel von Mysql-Tests in der Codebasis .