A função read_csv() da Bi­bli­o­teca Python Pandas é uma das funções mais uti­li­za­das para carregar dados de ficheiros CSV e armazená-los no formato DataFrame. Os ficheiros CSV (Comma-separated Values) são um formato am­pla­mente utilizado para armazenar dados tabulares, pois são com­pa­tí­veis com muitos programas.

Sintaxe do Python Pandas read_csv()

A função pandas.read_csv() cria um DataFrame do Pandas com base num ficheiro CSV. Ela pode aceitar uma variedade de pa­râ­me­tros di­fe­ren­tes que es­pe­ci­fi­cam o com­por­ta­mento da função. A seguir, abor­da­re­mos apenas os ar­gu­men­tos mais im­por­tan­tes e comumente ne­ces­sá­rios. Se quiser ver todos eles, en­con­trará uma lista completa na página oficial de re­fe­rên­cia do Pandas.

A sintaxe básica da função é simples e é apre­sen­tada da seguinte forma:

import pandas as pd
df = pd.read_csv(filepath_or_buffer, sep=',', header='infer', names=None, index_col=None, usecols=None, dtype=None, ...)
python

Pa­râ­me­tros re­le­van­tes

A seguir, apre­sen­ta­mos um resumo dos pa­râ­me­tros mais im­por­tan­tes para a função pandas.read_csv():

Parâmetro Sig­ni­fi­cado Valor pre­de­fi­nido
filepath_or_buffer É uma string Python (caminho do ficheiro) ou um buffer de ficheiro como um URL
sep Aqui é es­pe­ci­fi­cado o de­li­mi­ta­dor entre os valores ,
header Indica qual linha é utilizada como cabeçalho infer (primeira linha)
names Se estiver definido header=None pode fornecer uma lista Python de nomes de colunas com names
index_col Es­pe­ci­fica qual coluna será usada como índice None
usecols Com este parâmetro, pode se­le­ci­o­nar as colunas que deseja carregar no DataFrame None
dtype Es­pe­ci­fi­que o tipo de dados das colunas None

Ins­tru­ções passo a passo para aceder a ficheiros CSV

Com a função pandas.read_csv(), pode trans­fe­rir dados de ficheiros CSV para o Python em apenas alguns passos.

No exemplo a seguir, tra­ba­lha­re­mos com um ficheiro CSV que segue o seguinte formato:

1,Juan Pérez,35,Madrid,50000
2,Ana Gómez,29,Barcelona,62000
3,Carlos Fernández,41,Valencia,58000
4,Luz Martínez,33,Sevilla,49000
5,Tomás Ruiz,28,Málaga,52000

Passo 1: importar Pandas

Primeiro, deve importar a bi­bli­o­teca Pandas para o seu script Python.

import pandas as pd
python

Passo 2: carregar o ficheiro CSV

Agora pode carregar o seu ficheiro CSV uti­li­zando a função Pandas read_csv() em Python. Para isso, basta passar o caminho do ficheiro para a função. No exemplo de código a seguir, con­si­de­ra­mos um ficheiro chamado dados.csv, que se encontra no mesmo diretório que o script:

df = pd.read_csv('daten.csv')
python

Este código armazena o ficheiro num objeto DataFrame chamado df, com o qual agora é possível trabalhar. O Pandas in­ter­preta au­to­ma­ti­ca­mente a primeira linha como ca­be­ça­lhos de coluna, a menos que seja indicado o contrário.

Passo 3: mostrar o ficheiro CSV

Para garantir que o ficheiro foi carregado cor­re­ta­mente, é re­co­men­dá­vel vi­su­a­li­zar as primeiras linhas do DataFrame. Para isso, pode utilizar a função DataFrame.head(). Por pre­de­fi­ni­ção, ela mostra as primeiras cinco linhas do DataFrame. Assim, obtém uma visão rápida da estrutura dos dados:

print(df.head())
python

O resultado é o seguinte:

0   1         Juan Pérez     35     Madrid   50000
1   2          Ana Gómez     29  Barcelona   62000
2   3   Carlos Fernández     41   Valencia   58000
3   4       Luz Martínez     33    Sevilla   49000
4   5         Tomás Ruiz     28     Málaga   52000

Passo 4: alterar nomes de colunas (opcional)

Se o seu ficheiro CSV não tiver uma linha de cabeçalho, pode definir ma­nu­al­mente os nomes das colunas:

df = pd.read_csv('daten.csv', header=None, names=['Columna1', 'Columna2', 'Columna3', 'Columna4', 'Columna5'])
python

Neste exemplo, as colunas foram nomeadas ma­nu­al­mente como Coluna1, Coluna2, Coluna3, Coluna4 e Coluna5. O código retorna como resultado:

Columna1            Columna2  Columna3     Columna4  Columna5
0        1             Juan Pérez          35        Madrid      50000
1        2              Ana Gómez          29    Barcelona      62000
2        3     Carlos Fernández          41     Valencia      58000
3        4          Luz Martínez          33      Sevilla      49000
4        5             Tomás Ruiz          28        Málaga      52000
Ir para o menu principal