Mysql
 sql >> Database >  >> RDS >> Mysql

Come inserire dataframe panda tramite mysqldb nel database?

Aggiornamento:

Ora esiste un to_sql metodo, che è il modo preferito per farlo, piuttosto che write_frame :

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

Nota inoltre:la sintassi potrebbe cambiare in Pandas 0.14...

Puoi impostare la connessione con MySQLdb :

from pandas.io import sql
import MySQLdb

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

Impostazione del flavor di write_frame a 'mysql' significa che puoi scrivere su mysql:

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

L'argomento if_exists dice ai panda come trattare se il tavolo esiste già:

if_exists: {'fail', 'replace', 'append'} , predefinito 'fail'
     fail :se la tabella esiste, non fare nulla.
     replace :se la tabella esiste, rilasciala, ricreala e inserisci i dati.
     append :Se la tabella esiste, inserire i dati. Crea se non esiste.

Sebbene write_frame documenti attualmente suggerisce che funzioni solo su sqlite, mysql sembra essere supportato e in effetti c'è un bel po' di test di MySQL nella base di codice .