Como ler um ficheiro CSV com pandas em Python: guia
Ler dados de um ficheiro CSV é quase sempre o primeiro passo de qualquer análise em Python, e a biblioteca pandas torna essa tarefa rápida e fiável. Com poucas linhas de código consegue carregar milhares de registos, tratar acentos e separadores diferentes, e ficar pronto para explorar os dados. A seguir fica o caminho completo, do zero à primeira exploração, com os erros mais comuns já resolvidos.
Pré-requisitos
- Python 3.9 ou superior instalado no seu computador.
- A biblioteca pandas, que se instala com
pip install pandas. - Um ficheiro CSV de exemplo — neste guia usamos
vendas.csv. - Um editor ou notebook à escolha: VS Code, Jupyter ou a linha de comandos.
Passo 1: Instalar e importar o pandas
Se ainda não tem o pandas instalado, comece por instalá-lo a partir do terminal. Depois, importe a biblioteca no início do seu script com o nome abreviado pd, uma convenção que praticamente toda a comunidade Python usa. Assim o seu código fica mais curto e mais fácil de ler.

pip install pandas
import pandas as pd
Passo 2: Ler o ficheiro CSV com read_csv
A função read_csv lê o ficheiro e devolve um DataFrame, que é simplesmente uma tabela com linhas e colunas. No caso mais simples, basta indicar o nome do ficheiro. O método head mostra apenas as cinco primeiras linhas, o suficiente para confirmar que o ficheiro foi lido como esperava.
df = pd.read_csv("vendas.csv")
print(df.head())
Se o ficheiro estiver noutra pasta, indique o caminho completo, por exemplo "C:/dados/vendas.csv". Repare que usamos a barra normal, que funciona em todos os sistemas.
Passo 3: Ajustar separador, acentos e decimais
Muitos ficheiros CSV criados em Portugal usam ponto e vírgula como separador de colunas e vírgula como separador decimal. Se todas as colunas aparecerem coladas numa só, ou se os acentos vierem trocados, ajuste estes três parâmetros.
df = pd.read_csv(
"vendas.csv",
sep=";",
decimal=",",
encoding="utf-8",
)
Se ainda vir acentos estranhos, experimente encoding="latin-1", muito comum em ficheiros exportados do Excel.
Dica: abra o ficheiro num editor de texto simples antes de o ler. Ver a primeira linha diz-lhe logo qual é o separador e se existe cabeçalho.
Passo 4: Fazer uma primeira exploração
Depois de ler os dados, confirme que ficaram bem com três comandos muito úteis. O head mostra as primeiras linhas, o info resume os tipos de cada coluna e quantos valores existem, e o describe dá estatísticas rápidas das colunas numéricas.
print(df.head())
print(df.info())
print(df.describe())
Passo 5: Ler apenas as colunas necessárias
Em ficheiros grandes, ler só as colunas de que precisa poupa memória e torna tudo mais rápido. Use o parâmetro usecols com a lista de colunas que quer manter.
df = pd.read_csv(
"vendas.csv",
sep=";",
usecols=["data", "produto", "total"],
)
Verificar o resultado
Para ter a certeza de que a leitura correu bem, confirme o número de linhas e colunas com df.shape, que devolve um par no formato (linhas, colunas). Verifique também os tipos com df.dtypes: uma coluna de valores deve aparecer como int64 ou float64, e não como object, que indica texto.
print(df.shape)
print(df.dtypes)
Se uma coluna que devia ser numérica aparecer como texto, a causa é quase sempre o separador decimal. Volte ao Passo 3 e reveja o parâmetro decimal.
Conclusão
Com read_csv e um punhado de parâmetros já consegue carregar quase qualquer ficheiro CSV em Python de forma fiável. O passo seguinte natural é limpar os dados: tratar valores em falta, remover duplicados e converter as datas para o tipo correto. Qual vai ser o primeiro ficheiro CSV que vai abrir com o pandas?