Atualização:
Agora existe um
to_sql
método, que é a maneira preferida de fazer isso, em vez de write_frame
:df.to_sql(con=con, name='table_name_for_df', if_exists='replace', flavor='mysql')
Observe também:a sintaxe pode mudar no pandas 0.14...
Você pode configurar a conexão com MySQLdb :
from pandas.io import sql
import MySQLdb
con = MySQLdb.connect() # may need to add some other options to connect
Configurando o
flavor
de write_frame
para 'mysql'
significa que você pode escrever no mysql:sql.write_frame(df, con=con, name='table_name_for_df',
if_exists='replace', flavor='mysql')
O argumento
if_exists
diz aos pandas como lidar se a tabela já existir:
if_exists: {'fail', 'replace', 'append'}
, padrão'fail'
fail
:se a tabela existir, não faça nada.
replace
:se a tabela existir, descarte-a, recrie-a e insira dados.
append
:Se a tabela existir, insira os dados. Criar se não existir.
Embora o
write_frame
documentos
atualmente sugiro que funcione apenas no sqlite, o mysql parece ser suportado e, de fato, há um pouco de teste mysql na base de código
.