Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como inserir o dataframe do pandas via mysqldb no banco de dados?

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 .