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.
O que você vai aprender?
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

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
#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.

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.
#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.
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.
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.
#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.
# 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.
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.

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.

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!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








