Pandas to_sql Método

Pandas to_sql Método
Entenderemos como usar a função pandas to_sql () ao longo deste tutorial. Esta função nos permite salvar registros de pandas em um banco de dados SQL.

Função Sintaxe

A função tem uma sintaxe como mostrado:

Quadro de dados.to_sql (nome, con, esquema = nenhum, if_exists = 'falha', index = true, index_label = nenhum, chunksize = nenhum, dtype = nenhum, método = nenhum)

Parâmetros de função

Vamos discutir os parâmetros da função e o que cada um implica:

  1. Nome - refere -se à tabela SQL na qual os dados são salvos.
  2. CON - refere -se à conexão com o mecanismo de banco de dados. O motor SQLalChemy gerencia a conexão com o banco de dados. Portanto, você pode usar qualquer banco de dados suportado pela biblioteca.
  3. Esquema - Especifica o esquema de destino sob o qual salvar os dados.
  4. if_exists - define as ações se a tabela especificada já existir no esquema de destino. As opções aceitas incluem:
    • -falhar - levanta um erro.
    • Substitua - solta a tabela e adiciona a nova tabela.
    • Anexar - insere os novos dados para os existentes.
  5. Índice - Permite que o índice do DataFrame seja escrito como uma coluna. Se o índice tiver um nome, a função o usará como nome da coluna no banco de dados.
  6. index_label - Se o index_column não tiver um nome, você poderá especificar um usando este parâmetro.
  7. Chunksize - Especifica quantas linhas podem ser escritas em um momento. Se não for especificado, a função escreverá todas as linhas de uma vez.
  8. DTYPE - Especifica o tipo de dados para as colunas.
  9. Método - Este parâmetro define o método SQL usado para inserir os dados. Os valores aceitos incluem:
    • Nenhum - usa a inserção SQL padrão.
    • Multi - - permite passar vários valores em uma única instrução.

Saiba mais sobre os métodos de inserção SQL.

Valor de retorno da função

A função retorna o número de linhas afetadas pela operação SQL.

Exemplo:

Neste exemplo, inseriremos o seguinte DataFrame em um banco de dados MySQL.

https: // www.Dropbox.com/s/kql82sncnu7j3c1/filmes.CSV?dl = 0

Etapa 1: Comece importando as bibliotecas necessárias e carregando o DataFrame.

importar pandas como PD
df = pd.read_csv ('filmes.csv ', index_col = [0])

Depois que o DataFrame for carregado, prossiga para a próxima etapa.

Etapa 2: O próximo passo é criar um esquema de banco de dados. Abra seu terminal e conecte -se à sua instância MySQL.

$ mysql -u root -p

Depois de conectado, crie um esquema de banco de dados como mostrado:

MySQL> Criar banco de dados pandas_sample;

O código acima deve criar um banco de dados chamado 'pandas_sample.'. Sinta -se à vontade para mudar isso para a operação desejada.

Etapa 3: Em seguida, vamos voltar ao nosso código Python e conectar -se ao banco de dados. Podemos começar importando SqlalChemy e criando a conexão com o motor.

De Sqlalchemy Import create_engine
Engine = create_engine ("mysql+pymysql: // root: [email protected]: 3306/pandas_sample?charset = utf8mb4 ")

No exemplo acima, começamos importando o módulo create_engine da biblioteca SQLalChemy.

Em seguida, criamos uma conexão com o mecanismo MySQL usando a sintaxe mostrada abaixo:

create_engine ("mysql+pymysql: // user: pass@host: porta/dbname

Nota: Se você não tiver a biblioteca PymySQL instalada, o código acima retornará um erro.

Você pode resolver isso instalando a biblioteca como mostrado:

PIP3 Instale o pymSQL

Etapa 4: Depois de ter tudo em funcionamento, podemos salvar o quadro de dados carregado no banco de dados usando a função to_sql () como mostrado:

df.to_sql ('filmes', con = mecanismo)

O código acima deve criar uma nova tabela chamada 'Filmes' e inserir os valores de quadro de dados.

Para visualizar todos os registros no banco de dados, podemos executar:

mysql> use pandas_sample;
mysql> selecione * de filmes;

Isso deve retornar os registros do DataFrame, como mostrado:

Você também pode usar o Python para obter os registros do banco de dados como mostrado:

motor.Execute ('Selecione * Film').Fetchall ()

Os valores resultantes são como mostrados:

Conclusão

Este artigo explora como usar a função Pandas to_sql () para salvar um DataFrame em um banco de dados MySQL.