Ferramenta de Cadastro no Python com Pandas – Parte 2
Nessa aula eu vou dar uma breve continuidade a ferramenta de cadastro no Python só que agora com pandas incluindo uma base de dados!
Em resumo: esta é a continuação da ferramenta de cadastro no Python, agora usando a biblioteca Pandas para trabalhar com uma base de dados. Com o Pandas, você lê e grava os cadastros em um arquivo (como CSV ou Excel), organiza os registros em um DataFrame e consegue adicionar, consultar e atualizar os dados de forma muito mais prática.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: Nesta aula (parte 2), o instrutor continua a construção de uma ferramenta de cadastro no Python com o Pandas. Ele mostra como criar a função de cadastro, gerar o índice/código do novo registro automaticamente, juntar os novos dados com o arquivo Excel existente e salvar tudo de volta, automatizando o cadastro de informações numa planilha com Python.
Neste vídeo (24 min):
- 0:00 - A ferramenta de cadastro no Python com o Pandas (parte 2).
- 4:00 - O objetivo desta parte (o que muda em relação à aula anterior).
- 12:00 - Criar a função de cadastro e gerar o código do novo registro.
- 16:00 - Juntar os novos dados com o arquivo Excel existente.
- 20:00 - Salvar o dataframe de volta no arquivo (.xlsx).
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Ferramenta de Cadastro no Python com Pandas
Essa aula é uma breve continuação da aula de Ferramenta de Cadastro no Python para atender alguns pedidos dos nossos inscritos!
A ideia dessa aula é fazer uma integração Python Excel para fazer essa ferramenta de cadastro com banco de dados.
Isso quer dizer que vamos poder tanto registrar as informações novas dentro de uma base de dados no Excel quanto pegar algumas informações dessa base de dados par utilizar na ferramenta.
Ferramenta de Cadastro com Banco de Dados
Se você ainda não viu a aula anterior para saber como criar ferramenta de cadastro no Python recomendo que veja, pois como é uma continuação você precisa entender o que foi feito.
import datetime as dt
import tkinter as tk
from tkinter import ttk
import pandas as pd
materiais = pd.read_excel('materiais.xlsx', engine='openpyxl')
lista_codigos = []
lista_tipos = ["Galão", "Caixa", "Saco", "Unidade"]
janela = tk.Tk()
# Criação da função
def inserir_codigo():
descricao = entry_descricao.get()
tipo = combobox_selecionar_tipo.get()
quant = entry_quant.get()
data_criacao = dt.datetime.now()
data_criacao = data_criacao.strftime("%d/%m/%Y %H:%M")
codigo = materiais.shape[0] + len(lista_codigos)+1
codigo_str = "COD-{}".format(codigo)
lista_codigos.append((codigo_str, descricao, tipo, quant, data_criacao))
# Título da Janela
janela.title('Ferramenta de cadastro de materiais')
label_descricao = tk.Label(text="Descrição do Material")
label_descricao.grid(row=1, column=0, padx=10, pady=10, sticky='nswe', columnspan=4)
entry_descricao = tk.Entry()
entry_descricao.grid(row=2, column=0, padx=10, pady=10, sticky='nswe', columnspan=4)
label_tipo_unidade = tk.Label(text="Tipo da unidade do Material")
label_tipo_unidade.grid(row=3, column=0, padx=10, pady=10, sticky='nswe', columnspan=2)
combobox_selecionar_tipo = ttk.Combobox(values=lista_tipos)
combobox_selecionar_tipo.grid(row=3, column=2, padx=10, pady=10, sticky='nswe', columnspan=2)
label_quant = tk.Label(text="Quantidade na unidade de matetial")
label_quant.grid(row=4, column=0, padx=10, pady=10, sticky='nswe', columnspan=2)
entry_quant = tk.Entry()
entry_quant.grid(row=4, column=2, padx=10, pady=10, sticky='nswe', columnspan=2)
botao_criar_codigo = tk.Button(text="Criar código", command=inserir_codigo)
botao_criar_codigo.grid(row=5, column=0, padx=10, pady=10, sticky='nswe', columnspan=4)
janela.mainloop()
novo_material = pd.DataFrame(lista_codigos, columns=['Código', 'Descrição','Tipo', 'Quantidade', 'Data Criação'])
materiais = materiais.append(novo_material, ignore_index=True)
materiais.to_excel('materiais.xlsx', index=False)Esse é o novo código que nós vamos utilizar, então vou comentar sobre algumas das mudanças que nós fizemos.
A ideia nesse novo código é ler um arquivo em Excel, que é onde temos os nossos materiais e verificar os códigos existentes.
Verificar o índice do novo código, adicionar as informações dentro do dataframe e para finalizar atualizar o Excel com essas informações.
Para poder fazer essa parte de análise de dados nós vamos ter que utilizar o Pandas Python, então se você ainda não tem essa biblioteca basta instalar utilizando o terminal do PyCharm.
Basta escrever pip install pandas que a biblioteca será instalada, depois vai precisar importar ela dentro do código!
Então logo na parte inicial do código nós temos a leitura do arquivo materiais.xlsx que você vai criar dentro da mesma pasta que está o seu código.
Já vamos atribuir essas informações a uma variável para que possamos utilizar posteriormente para as demais alterações.
Outra modificação que fizemos foi dentro da função inserir_codigo, pois vamos ter que acrescentar os novos códigos, mas precisamos saber quantos códigos já temos no nosso arquivo.
Para isso vamos utilizar o codigo = materiais.shape[0] + len(lista_codigos)+1, com isso nós vamos pegar o número de colunas dos materiais (que temos na base de dados) e vamos somar com o tamanho da lista códigos + 1 para que possamos preencher no local correto sem sobrepor nenhuma informação.
A outra etapa que é de criar um dataframe com os novos materiais, então vamos inserir as informações da lista_codigo com as colunas específicas, para que as informações sejam inseridas de forma correta.
Por fim nós vamos adicionar os novos materiais com que os que já existem e vamos adicionar essas informações no arquivo Excel, para poder atualizá-lo.

Dentro do seu arquivo de Excel você vai ter exatamente os mesmos cabeçalhos que já havíamos criado para que tudo seja preenchido corretamente.
Então você pode tanto criar um arquivo somente com os cabeçalhos quanto já pode preencher com algumas informações que a ferramenta de cadastro vai apenas adicionar os novos dados.
Vale ressaltar que a parte de interface gráfica no Python utilizando o Tkinter nós explicamos melhor na aula anterior.
Conclusão da Ferramenta de Cadastro no Python com Pandas
Na aula de hoje nós fizemos uma parte 2 da Ferramenta de Cadastro no Python para utilizar o mesmo projeto só que com uma base de dados.
Assim você pode tanto pegar quanto adicionar informações a essa base de dados utilizando essa ferramenta de cadastro.
Isso deixa o projeto um pouco mais completo e te permite ter uma base de dados atualizada com essas informações sem que você tenha sempre que começar do zero com seus cadastros.
Então aprendemos como ler arquivo em Excel com Python e claro, como adicionar dados no Excel com Python para atualizar a base de dados.
Perguntas frequentes
1. Para que serve o Pandas em uma ferramenta de cadastro?
O Pandas facilita ler e gravar os dados em arquivos como CSV e Excel e manipular os registros em um DataFrame. Operações como adicionar, buscar, filtrar e atualizar cadastros ficam bem mais simples do que tratando o arquivo manualmente.
2. Onde os dados do cadastro ficam salvos?
Normalmente em um arquivo externo — CSV ou Excel são os mais comuns — que o Pandas lê ao abrir o programa e grava ao salvar. Assim os cadastros ficam guardados entre as execuções, sem depender de manter o programa aberto.
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Quer aprender mais sobre Python com um minicurso gratuito?


