Cómo leer archivos CVS en Python con Pandas read_csv()
La función read_csv() de la Biblioteca 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.
- 3x más rápido, ahora un 60 % de ahorro
- Alta disponibilidad >99.99 %
- Solo en IONOS: hasta 500 GB incluidos
Sintaxis de Python Pandas read_csv()
La función pandas.read_csv() crea un DataFrame de Pandas 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.
La sintaxis básica de la función es sencilla y se presenta de la siguiente manera:
import pandas as pd
df = pd.read_csv(filepath_or_buffer, sep=',', header='infer', names=None, index_col=None, usecols=None, dtype=None, ...)pythonParámetros relevantes
A continuación, se presenta un resumen de los parámetros más importantes para la función pandas.read_csv():
| Parámetro | Significado | Valor predeterminado |
|---|---|---|
filepath_or_buffer
|
Es una string de Python (ruta del archivo) o un buffer de archivo como una URL | |
sep
|
Aquí se especifica el delimitador entre los valores | ,
|
header
|
Indica qué fila se utiliza como encabezado | infer (primera fila)
|
names
|
Si se establece header=None puedes proporcionar una lista de Python de nombres de columnas con names
|
|
index_col
|
Especifica qué columna se utilizará como índice | None
|
usecols
|
Con este parámetro puedes seleccionar las columnas que deseas cargar en el DataFrame | None
|
dtype
|
Especifica el tipo de dato de las columnas | None
|
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:
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,52000Paso 1: importar Pandas
Primero, debes importar la biblioteca de Pandas en tu script de Python.
import pandas as pdpythonPaso 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:
df = pd.read_csv('daten.csv')pythonEste 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:
print(df.head())pythonEl resultado es el siguiente:
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 52000Paso 4: cambiar nombres de columnas (opcional)
Si tu archivo CSV no tiene una fila de encabezado, puedes definir manualmente los nombres de las columnas:
df = pd.read_csv('daten.csv', header=None, names=['Columna1', 'Columna2', 'Columna3', 'Columna4', 'Columna5'])pythonEn este ejemplo, las columnas se han nombrado manualmente como Columna1, Columna2, Columna3, Columna4 y Columna5. El código devuelve 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 52000El 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.