sql >> Database >  >> RDS >> Mysql

Hoe panda's dataframe via mysqldb in de database invoegen?

Bijwerken:

Er is nu een to_sql methode, wat de voorkeur heeft om dit te doen, in plaats van write_frame :

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

Let ook op:de syntaxis kan veranderen in panda's 0.14...

U kunt de verbinding opzetten met MySQLdb :

from pandas.io import sql
import MySQLdb

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

De flavor instellen van write_frame naar 'mysql' betekent dat u naar mysql kunt schrijven:

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

Het argument if_exists vertelt panda's hoe ze moeten handelen als de tafel al bestaat:

if_exists: {'fail', 'replace', 'append'} , standaard 'fail'
     fail :Als de tabel bestaat, niets doen.
     replace :Als de tabel bestaat, laat u deze vallen, maakt u deze opnieuw en voegt u gegevens in.
     append :Als een tabel bestaat, voegt u gegevens in. Aanmaken als niet bestaat.

Hoewel de write_frame documenten suggereren momenteel dat het alleen op sqlite werkt, mysql lijkt te worden ondersteund en in feite is er nogal wat mysql-testen in de codebase .



  1. Wat is de meest elegante manier om een ​​tijdstempel met nanosec op te slaan in postgresql?

  2. MySQL Verwijder dubbele records

  3. FLOOR() Voorbeelden in SQL Server

  4. Delphi verbinden met Salesforce.com