# Como ler ficheiros CVS em Python com Pandas read\_csv()

A função `read_csv()` da Biblioteca Python Pandas é uma das funções mais utilizadas para **carregar dados de ficheiros CSV e armazená-los no formato DataFrame**. Os ficheiros CSV (Comma-separated Values) são um formato amplamente utilizado para armazenar dados tabulares, pois são compatíveis com muitos programas.

## Sintaxe do Python Pandas `read_csv()`

A função `pandas.read_csv()` cria um [DataFrame do Pandas](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/dataframes-do-pandas-python/) com base num ficheiro CSV. Ela pode aceitar uma variedade de parâmetros diferentes que especificam o comportamento da função. A seguir, abordaremos apenas os argumentos mais importantes e comumente necessários. Se quiser ver todos eles, encontrará uma lista completa na página oficial de [referência do Pandas](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html "Referencia de Pandas acerca de read_csv()").

A sintaxe básica da função é simples e é apresentada da seguinte forma:

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

### Parâmetros relevantes

A seguir, apresentamos um resumo dos parâmetros mais importantes para a função `pandas.read_csv()`:

<table>
  <thead>
    <tr>
      <th><strong>Parâmetro</strong></th>
      <th><strong>Significado</strong></th>
      <th><strong>Valor predefinido</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`filepath_or_buffer`</td>
      <td>É uma string Python (caminho do ficheiro) ou um buffer de ficheiro como um URL</td>
      <td></td>
    </tr>
    <tr>
      <td>`sep`</td>
      <td>Aqui é especificado o delimitador entre os valores</td>
      <td>`,`</td>
    </tr>
    <tr>
      <td>`header`</td>
      <td>Indica qual linha é utilizada como cabeçalho</td>
      <td>`infer` (primeira linha)</td>
    </tr>
    <tr>
      <td>`names`</td>
      <td>Se estiver definido `header=None` pode fornecer uma lista Python de nomes de colunas com `names`</td>
      <td></td>
    </tr>
    <tr>
      <td>`index_col`</td>
      <td>Especifica qual coluna será usada como índice</td>
      <td>`None`</td>
    </tr>
    <tr>
      <td>`usecols`</td>
      <td>Com este parâmetro, pode selecionar as colunas que deseja carregar no DataFrame</td>
      <td>`None`</td>
    </tr>
    <tr>
      <td>`dtype`</td>
      <td>Especifique o tipo de dados das colunas</td>
      <td>`None`</td>
    </tr>
  </tbody>
</table>

## Instruções passo a passo para aceder a ficheiros CSV

Com a função `pandas.read_csv()`, pode transferir dados de ficheiros CSV para o Python em apenas alguns passos.

No exemplo a seguir, trabalharemos com um ficheiro CSV que segue o seguinte formato:

```none
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 biblioteca Pandas para o seu script Python.

```python
import pandas as pd
```

### Passo 2: carregar o ficheiro CSV

Agora pode carregar o seu ficheiro CSV utilizando 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, consideramos um ficheiro chamado *dados.csv*, que se encontra no mesmo diretório que o script:

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

Este código armazena o ficheiro num objeto DataFrame chamado `df`, com o qual agora é possível trabalhar. **O Pandas interpreta automaticamente a primeira linha como cabeçalhos de coluna**, a menos que seja indicado o contrário.

### Passo 3: mostrar o ficheiro CSV

Para garantir que o ficheiro foi carregado corretamente, é recomendável visualizar as **primeiras linhas do DataFrame**. Para isso, pode utilizar a função `DataFrame.head()`. Por predefinição, ela mostra as primeiras cinco linhas do DataFrame. Assim, obtém uma visão rápida da estrutura dos dados:

```python
print(df.head())
```

O resultado é o seguinte:

```none
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 manualmente os nomes das colunas:

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

Neste exemplo, as colunas foram nomeadas manualmente como *Coluna1, Coluna2, Coluna3, Coluna4* e *Coluna5*. O código retorna como resultado:

```none
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
```

Nota O ficheiro CSV utilizado como exemplo não tem muitos dados, por isso é relativamente pequeno. No entanto, se esse não for o caso e tiver um **ficheiro CSV muito grande**, deve ler o ficheiro em partes para evitar problemas de memória. Para isso, pode utilizar o parâmetro `chunksize` de `pandas.read_csv()`, que indica quantas linhas devem ser lidas por iteração. Pode iterar sobre as partes com um loop for em Python.


This is a markdown version of: [https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/python-pandas-read-csv/](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/python-pandas-read-csv/) for AI/LLM consumption.