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.
- Rápido, seguro, flexible y escalable
- Certificado SSL/DDoS incluido
- Dominio y asesor personal 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,52000
Paso 1: importar Pandas
Primero, debes importar la biblioteca de Pandas en tu script de Python.
import pandas as pd
pythonPaso 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 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:
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 52000
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.