Cadastro de Clientes no Python com Base de Dados

Aprenda a criar uma ferramenta de cadastro de clientes no Python utilizando uma base de dados SQLite e exportação para Excel com pandas.

Ferramenta de Cadastro no Python

Hoje nós vamos construir uma ferramenta de cadastro de clientes, diferente da ferramenta de cadastro que já fizemos aqui no blog.

A primeira diferença é que nós vamos fazer um cadastro de clientes, outro ponto é que vãos utilizar uma interface gráfica, banco de dados SQlite e exportação para Excel com pandas.

Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:

Bibliotecas necessárias

Para criar essa ferramenta, utilizaremos as seguintes bibliotecas:

  • tkinter – para interface gráfica;
  • sqlite3 – para o banco de dados SQLite;
  • pandas – para exportação dos dados para Excel.

Planejando o Cadastro de Clientes no Python

Passo a passo para a criação da ferramenta de cadastro

Esse aqui é o passo a passo que nós vamos utilizar para a construção desse projeto. Então a ideia é seguir esses passos para a construção do cadastro de clientes com um banco de dados.

Vamos criar um cadastro de clientes e utilizar um banco de dados para armazenar essas informações.

Passo a passo para criar a ferramenta

Criando o banco de dados SQLite

Python
#Criando o Banco de Dados:

conexao = sqlite3.connect('clientes.db')

# Criando o cursor:
c = conexao.cursor()

# Criando a tabela:

c.execute("""CREATE TABLE  clientes (
     nome text,
     sobrenome text,
     email text,
     telefone text
     )""")

#Commit as mudanças:
 conexao.commit()

#Fechar o banco de dados:
 conexao.close()

Esse código é para a criação do nosso banco de dados, e você só vai precisar rodar ele uma vez, pois depois que criar esse banco não precisa criar um toda vez que for rodar o código.

Assim que rodar essa primeira parte do código você vai notar que um arquivo foi criado dentro de onde tem o seu código.

Essa é o banco de dados. Você pode visualizar essas informações pelo Python, mas uma sugestão para estudo é o DB Browser.

Com essa ferramenta você vai conseguir ver o banco de dados e até fazer edições de forma manual. Então é uma ferramenta muito útil que pode te ajudar bastante.

Visualizando o banco de dados criado

Quando abrir o banco de dados você vai notar que ele foi criado com todas as colunas que colocamos, mas está vazio, pois ainda não colocamos nenhuma informação dentro dele.

Depois de utilizar esse código você vai poder comentar ele, pois não vai querer criar um banco de dados toda vez que rodar o código, então essa parte só será executada uma única vez.

Criando a janela com Tkinter

Aqui definimos a interface gráfica onde os dados serão inseridos e manipulados.

Python
#Criando Janela:

janela = tk.Tk()
janela.title('Cadastro de Clientes')
janela. geometry("330x350")

Função de cadastro de clientes

Essa função conecta o Python ao banco de dados, insere os dados do usuário e limpa os campos após o cadastro.

Python
def cadastrar_cliente():
    conexao = sqlite3.connect('clientes.db')
    c = conexao.cursor()

    #Inserir dados na tabela:
    c.execute("INSERT INTO clientes VALUES (:nome,:sobrenome,:email,:telefone)",
              {
                  'nome': entry_nome.get(),
                  'sobrenome': entry_sobrenome.get(),
                  'email': entry_email.get(),
                  'telefone': entry_telefone.get()
              })


    # Commit as mudanças:
    conexao.commit()

    # Fechar o banco de dados:
    conexao.close()

    # #Apaga os valores das caixas de entrada
    entry_nome.delete(0,"end")
    entry_sobrenome.delete(0,"end")
    entry_email.delete(0,"end")
    entry_telefone.delete(0,"end")

Função de exportação para Excel

Essa função utiliza pandas para gerar um arquivo Excel com todos os clientes cadastrados.

Python
def exporta_clientes():
    conexao = sqlite3.connect('clientes.db')
    c = conexao.cursor()

    # Inserir dados na tabela:
    c.execute("SELECT *, oid FROM clientes")
    clientes_cadastrados = c.fetchall()
    # print(clientes_cadastrados)
    clientes_cadastrados=pd.DataFrame(clientes_cadastrados,columns=['nome','sobrenome','email','telefone','Id_banco'])
    clientes_cadastrados.to_excel('clientes.xlsx')

    # Commit as mudanças:
    conexao.commit()

    # Fechar o banco de dados:
    conexao.close()

Adicionando rótulos e caixas de entrada

Repita para sobrenome, email e telefone. Essa configuração garante que o usuário saiba onde inserir cada informação.

Python
#Rótulos Entradas:
label_nome = tk.Label(janela, text='Nome')
label_nome.grid(row=0,column=0, padx=10, pady=10)

label_sobrenome = tk.Label(janela, text='Sobrenome')
label_sobrenome.grid(row=1, column=0, padx=10, pady=10)

label_email = tk.Label(janela, text='E-mail')
label_email.grid(row=2, column=0 , padx=10, pady=10)

label_telefone = tk.Label(janela, text='Telefone')
label_telefone.grid(row=3, column=0, padx=10, pady=10)

#Caixas Entradas:
entry_nome = tk.Entry(janela , width =35)
entry_nome.grid(row=0,column=1, padx=10, pady=10)

entry_sobrenome = tk.Entry(janela, width =35)
entry_sobrenome.grid(row=1, column=1, padx=10, pady=10)

entry_email = tk.Entry(janela, width =35)
entry_email.grid(row=2, column=1 , padx=10, pady=10)

entry_telefone = tk.Entry(janela, width =35)
entry_telefone.grid(row=3, column=1, padx=10, pady=10)

Botões de interação

Botões que permitem cadastrar clientes e exportar dados diretamente para Excel.

Python
# Botão de Cadastrar

botao_cadastrar = tk.Button(text='Cadastrar Cliente', command=cadastrar_cliente)
botao_cadastrar.grid(row=4, column=0,columnspan=2, padx=10, pady=10 , ipadx = 80)

# Botão de Exportar

botao_exportar = tk.Button(text='Exportar para Excel', command=exporta_clientes)
botao_exportar.grid(row=5, column=0,columnspan=2, padx=10, pady=10 , ipadx = 80)


janela.mainloop()

Entendendo o Código C0ompleto

Aqui temos temos a criação da janela utilizando o tkinter e ao final, onde temos os rótulos de entrada, é que temos as informações que vão aparecer dentro da nossa ferramenta.

Essa parte nós já abordamos na aula onde criamos a Ferramenta de Cadastro no Python, mas como os nomes são bem intuitivos e o código está comentado fica mais fácil entender qual a finalidade de cada código.

A nossa primeira função que é cadastrar_cliente vai servir para fazer a conexão com o banco de dados já criamos, vai inserir os dados preenchidos na tabela (essa é a nossa integração do Python com banco de dados) e por fim vamos atualizar o banco de dados.

Para facilitar ainda vamos utilizar alguns códigos para apagar as informações que foram inseridas pelo usuário, assim fica mais fácil de cadastrar o próximo cliente sem ter o trabalho de apagar manualmente.

A nossa segunda função é exporta_clientes, que vai ser responsável para fazer a integração do Python com Excel.

Vamos novamente fazer a conexão com o banco de dados para poder pegar os clientes que temos cadastrados e registrar essas informações com a biblioteca pandas.

OBS: O pandas no Python é uma biblioteca para análise de dados muito utilizada, caso queira aprender mais sobre o pandas basta clicar aqui que temos uma publicação sobre o assunto.

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

Visualizando e testando a ferramenta

Execute o script e teste o cadastro de clientes. Em seguida, verifique se os dados são inseridos no banco SQLite.

Cadastro de Clientes no Python

Lembrando que ao clicar em cadastrar cliente nós estamos registrando esses dados dentro do nosso banco de dados.

Clique em "Exportar Base de Clientes" para conferir a integração com pandas e exportar as informações para o Excel.

Dessa forma, temos os dados que foram exportados do banco de dados com as informações corretas + o valor do id do banco.

Cadastro de Clientes no Python

Utilize o DB Browser para SQLite se desejar editar os dados manualmente.

Dicas avançadas e boas práticas

  • Valide os campos do usuário antes de cadastrar (ex.: email correto, telefone válido);
  • Crie funções adicionais para atualizar ou remover clientes;
  • Utilize try/except para tratar erros de conexão e inserção no banco;
  • Personalize a interface Tkinter para uma experiência mais intuitiva.

Conclusão - Cadastro de Clientes no Python com Base de Dados

Nessa aula eu te mostrei uma ferramenta de cadastro de clientes no Python, mas dessa vez utilizando um banco de dados para registrar essas informações.

E para complementar também fizemos a integração do Python com Excel para poder exportar as informações do banco de dados para o Excel.

Agora, você possui diversas informações para criar ferramentas de cadastro e utilizar um banco de dados para registrar e gerenciar esses dados.

Se você quer continuar evoluindo no Python e aprender ainda mais, recomendo o curso de Python da Hashtag, que pode te ajudar a aprofundar seus conhecimentos e desenvolver novas habilidades!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos