Criando um Bot em Python para Ler e Processar Arquivos CSV
No mundo da programação e da análise de dados, os arquivos CSV (Comma-Separated Values) são muito comuns. Eles armazenam informações em formato de tabela (linhas e colunas) e podem ser usados em bancos de dados, planilhas e aplicações diversas.
Neste post, vamos aprender a criar um bot em Python capaz de ler e processar arquivos CSV, realizando tarefas simples de manipulação de dados. Isso será útil tanto para iniciantes quanto para quem já está trilhando o caminho da análise de dados ou automação.
O que é um arquivo CSV?
CSV é um formato de texto que organiza dados em forma de tabela.
Cada linha representa um registro.
As colunas são separadas por vírgulas (ou ponto e vírgula em alguns casos).
Exemplo de um CSV simples (alunos.csv):
nome,idade,curso
Ana,21,Engenharia
Carlos,19,Direito
Maria,22,Computação
João,20,Matemática
Passo 1 – Bibliotecas necessárias
O Python tem suporte nativo para CSV com o módulo csv
, mas também é muito comum usar pandas
, que é mais poderoso para manipulação de dados.
Neste post, vamos ver as duas formas: primeiro com csv
, depois com pandas
.
import csv
import pandas as pd
Passo 2 – Lendo arquivos CSV com o módulo csv
with open("alunos.csv", newline="", encoding="utf-8") as arquivo:
leitor = csv.reader(arquivo)
for linha in leitor:
print(linha)
Saída:
['nome', 'idade', 'curso']
['Ana', '21', 'Engenharia']
['Carlos', '19', 'Direito']
['Maria', '22', 'Computação']
['João', '20', 'Matemática']
Aqui, cada linha é lida como uma lista.
Se quisermos acessar os valores de forma mais organizada, podemos usar DictReader
:
with open("alunos.csv", newline="", encoding="utf-8") as arquivo:
leitor = csv.DictReader(arquivo)
for linha in leitor:
print(linha["nome"], "-", linha["curso"])
Saída:
Ana - Engenharia
Carlos - Direito
Maria - Computação
João - Matemática
Passo 3 – Manipulando dados simples
Exemplo: calcular a média de idade dos alunos.
idades = []
with open("alunos.csv", newline="", encoding="utf-8") as arquivo:
leitor = csv.DictReader(arquivo)
for linha in leitor:
idades.append(int(linha["idade"]))
media = sum(idades) / len(idades)
print("Média de idade:", media)
Saída:
Média de idade: 20.5
Passo 4 – Fazendo a mesma leitura com Pandas
O pandas
simplifica muito a manipulação de dados.
import pandas as pd
df = pd.read_csv("alunos.csv")
print(df)
Saída:
nome idade curso
0 Ana 21 Engenharia
1 Carlos 19 Direito
2 Maria 22 Computação
3 João 20 Matemática
Calcular a média de idade fica super simples:
print("Média de idade:", df["idade"].mean())
Passo 5 – Criando um “bot” que processa CSV
Podemos transformar isso em um programa interativo que leia qualquer CSV e processe algumas informações.
import pandas as pd
def bot_csv(arquivo):
try:
df = pd.read_csv(arquivo)
print("=== Bot CSV ===")
print("Colunas disponíveis:", list(df.columns))
print("Número de linhas:", len(df))
print("Resumo estatístico:")
print(df.describe())
while True:
print("\nO que deseja fazer?")
print("1 - Mostrar as primeiras linhas")
print("2 - Calcular média de uma coluna numérica")
print("3 - Filtrar dados por valor em uma coluna")
print("4 - Sair")
escolha = input("Digite a opção: ")
if escolha == "1":
print(df.head())
elif escolha == "2":
coluna = input("Digite o nome da coluna: ")
if coluna in df.columns and pd.api.types.is_numeric_dtype(df[coluna]):
print("Média:", df[coluna].mean())
else:
print("Coluna inválida ou não numérica.")
elif escolha == "3":
coluna = input("Digite a coluna: ")
valor = input("Digite o valor: ")
if coluna in df.columns:
print(df[df[coluna] == valor])
else:
print("Coluna inválida.")
elif escolha == "4":
print("Encerrando o bot.")
break
else:
print("Opção inválida.")
except Exception as e:
print("Erro ao processar o arquivo:", e)
# Exemplo de uso:
bot_csv("alunos.csv")
Esse “bot” consegue:
✔ Mostrar estatísticas básicas do CSV.
✔ Calcular médias.
✔ Filtrar linhas por valor.
✔ Ser usado em qualquer arquivo CSV.
Exercícios para praticar
Adicione a opção de salvar os resultados em um novo CSV.
Permita que o usuário escolha quantas linhas visualizar com
head()
.Crie um menu para exportar gráficos (usando
matplotlib
).Adapte o bot para rodar com interface gráfica (Tkinter).
Conclusão
Com poucos comandos em Python, conseguimos criar um bot capaz de ler e processar arquivos CSV, algo extremamente útil para quem trabalha com dados no dia a dia.
Esse é só o começo: com pandas
e bibliotecas de visualização como matplotlib
e seaborn
, você pode expandir esse projeto para criar ferramentas completas de análise.
Agora é sua vez: escolha um CSV real (como relatórios de vendas, planilhas de estudos ou listas de contatos) e teste o bot!
Comentários
Postar um comentário