Actualización:
Ahora hay un to_sql
método, que es la forma preferida de hacer esto, en lugar de write_frame
:
df.to_sql(con=con, name='table_name_for_df', if_exists='replace', flavor='mysql')
Tenga en cuenta también:la sintaxis puede cambiar en pandas 0.14...
Puede configurar la conexión con MySQLdb :
from pandas.io import sql
import MySQLdb
con = MySQLdb.connect() # may need to add some other options to connect
Configuración del flavor
de write_frame
a 'mysql'
significa que puede escribir en mysql:
sql.write_frame(df, con=con, name='table_name_for_df',
if_exists='replace', flavor='mysql')
El argumento if_exists
le dice a los pandas cómo tratar si la mesa ya existe:
if_exists: {'fail', 'replace', 'append'}
, por defecto 'fail'
fail
:si la tabla existe, no haga nada.
replace
:si existe una tabla, suéltela, vuelva a crearla e inserte datos.
append
:Si la tabla existe, inserte datos. Crear si no existe.
Aunque write_frame
documentos
actualmente sugiere que solo funciona en sqlite, mysql parece ser compatible y, de hecho, hay bastante pruebas de mysql en el código base
.