# Cómo leer archivos CVS en Python con Pandas read\_csv()

La función `read_csv()` de la [Biblioteca Python Pandas](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/python-pandas/) es una de las funciones más utilizadas para **cargar datos de archivos CSV y almacenarlos en formato DataFrame**. Los archivos CSV (Comma-separated Values) son un formato ampliamente utilizado para almacenar datos tabulares porque son compatibles con muchos programas.

## Sintaxis de Python Pandas `read_csv()`

La función `pandas.read_csv()` crea un [DataFrame de Pandas](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/dataframes-de-pandas-python/) basado en un archivo CSV. Puede aceptar una variedad de parámetros diferentes que especifican el comportamiento de la función. A continuación, abordaremos solo los argumentos más importantes y comúnmente necesarios. Si quieres verlos todos, encontrarás una lista completa en la página oficial de [referencia de Pandas](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html "Referencia de Pandas acerca de read_csv()").

La sintaxis básica de la función es sencilla y se presenta de la siguiente manera:

```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 continuación, se presenta un resumen de los parámetros más importantes para la función `pandas.read_csv()`:

<table>
  <thead>
    <tr>
      <th><strong>Parámetro</strong></th>
      <th><strong>Significado</strong></th>
      <th><strong>Valor predeterminado</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`filepath_or_buffer`</td>
      <td>Es una [string de Python](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/python-string-format/) (ruta del archivo) o un buffer de archivo como una [URL](https://www.ionos.mx/digitalguide/servidores/know-how/url-que-es-el-uniform-resource-locator/).</td>
      <td></td>
    </tr>
    <tr>
      <td>`sep`</td>
      <td>Aquí se especifica el delimitador entre los valores</td>
      <td>`,`</td>
    </tr>
    <tr>
      <td>`header`</td>
      <td>Indica qué fila se utiliza como encabezado</td>
      <td>`infer` (primera fila)</td>
    </tr>
    <tr>
      <td>`names`</td>
      <td>Si se establece `header=None` puedes proporcionar una [lista de Python](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/python-list/) de nombres de columnas con `names`</td>
      <td></td>
    </tr>
    <tr>
      <td>`index_col`</td>
      <td>Especifica qué columna se utilizará como índice</td>
      <td>`None`</td>
    </tr>
    <tr>
      <td>`usecols`</td>
      <td>Con este parámetro puedes seleccionar las columnas que deseas cargar en el DataFrame</td>
      <td>`None`</td>
    </tr>
    <tr>
      <td>`dtype`</td>
      <td>Especifica el tipo de dato de las columnas</td>
      <td>`None`</td>
    </tr>
  </tbody>
</table>

## Instrucciones paso a paso para acceder a archivos CSV

Con la función `pandas.read_csv()` puedes transferir datos de archivos CSV a Python en solo unos pocos pasos.

En el siguiente ejemplo, trabajaremos con un archivo CSV que sigue el siguiente formato:

```none
1,John Pérez,35,Nueva York,50000
2,Adelaida Smith,29,Los Ángeles,62000
3,Michael Rivera,41,Chicago,58000
4,Luz Martínez,33,Houston,49000
5,Tyler Johnson,28,Miami,52000
```

### Paso 1: importar Pandas

Primero, debes importar la biblioteca de Pandas en tu script de Python.

```python
import pandas as pd
```

### Paso 2: cargar el archivo CSV

Ahora puedes cargar tu archivo CSV utilizando la función Pandas `read_csv()` en Python. Para ello, simplemente pasa a la función la **ruta del archivo**. En el siguiente ejemplo de código, consideramos un archivo llamado *datos.csv*, que se encuentra en el mismo directorio que el script:

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

Este código almacena el archivo en un objeto DataFrame llamado `df`, con el que ahora se puede trabajar. **Pandas interpreta automáticamente la primera fila como encabezados de columna**, a menos que se indique lo contrario.

### Paso 3: mostrar el archivo CSV

Para asegurarte de que el archivo se ha cargado correctamente, es recomendable visualizar las **primeras filas del DataFrame**. Para esto, puedes utilizar la función `DataFrame.head()`. De forma predeterminada, muestra las primeras cinco filas del DataFrame. Así obtienes una visión rápida de la estructura de los datos:

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

El resultado es el siguiente:

```none
0   1         John Pérez     35     Nueva York   50000
1   2     Adelaida Smith     29    Los Ángeles   62000
2   3     Michael Rivera     41        Chicago   58000
3   4       Luz Martínez     33        Houston   49000
4   5      Tyler Johnson     28          Miami   52000
```

### Paso 4: cambiar nombres de columnas (opcional)

Si tu archivo CSV no tiene una fila de encabezado, puedes definir manualmente los nombres de las columnas:

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

En este ejemplo, las columnas se han nombrado manualmente como *Columna1, Columna2, Columna3, Columna4* y *Columna5*. El código devuelve como resultado:

```none
Columna1         Columna2         Columna3     Columna4  Columna5
0         1         John Pérez            35        Nueva York      50000
1         2    Adelaida Smith            29      Los Ángeles      62000
2         3    Michael Rivera            41            Chicago      58000
3         4      Luz Martínez            33            Houston      49000
4         5     Tyler Johnson            28              Miami      52000
```

Nota El archivo CSV utilizado como ejemplo no tiene muchos datos, por lo que es relativamente pequeño. Sin embargo, si ese no es el caso y tienes un **archivo CSV muy grande**, deberías leer el archivo en trozos para evitar problemas de memoria. Para esto, puedes utilizar el parámetro `chunksize` de `pandas.read_csv()`, que indica cuántas filas se deben leer por iteración. Puedes iterar sobre los trozos con un [bucle for en Python](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/bucle-for-en-python/).


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