Leer archivo CSV con Python

En este post de programación con Python te mostraré cómo leer un archivo CSV. Un archivo CSV es un archivo que tiene datos separados por comas (aunque el delimitador puede ser otro carácter).

Te enseñaré a leer un CSV con Python de dos maneras:

  • Manualmente usando split y funciones del lenguaje
  • Usando el módulo csv ya presente en Python

Al final también te dejaré un ejemplo en donde sacamos el promedio de datos del archivo CSV usando Python.

El archivo CSV que vamos a leer

Vamos a abrir un CSV que se ve así:

Si lo ves formateado es porque Gist lo hace así, pero si le das en “view raw” se verá como es originalmente.

Como sea, es una lista de juegos con calificación y precio. Recuerda que estos datos no son reales; solo son de ejemplo.

Leer CSV con Python manualmente

Veamos el primer enfoque, el cual es leerlo sin usar módulos o paquetes. El algoritmo es sencillo.

Primero, abrimos el archivo como cualquier otro. Luego, lo iteramos línea por línea (pero omitimos la primera, pues es el encabezado). En cada paso, usamos split para convertir la línea a lista (de este modo tendremos las columnas del archivo).

Ahora podemos acceder a la lista y tendremos cada valor a través del índice. La primera columna estará en el índice 0, la segunda en 1, etcétera.

El código queda así:

Como puedes ver, usamos next para omitir la primera línea, pues al final el archivo es un iterador. También es importante notar que usamos las conversiones de tipos, por ejemplo convertimos a entero en la línea 17, y en la 18 convertimos a flotante.

Finalmente usamos las f strings de Python para imprimir cada valor. La salida será:

Si quieres puedes probar el ejercicio en este enlace.

Usar módulo csv en Python

Ya existe un módulo nativo en Python que sirve para leer archivos CSV. Permite igualmente leer un archivo pero de una manera más sencilla.

Comenzamos importando el módulo csv, después creamos un lector a partir del archivo, usando csv.reader. Finalmente tendremos un iterador en donde ya tenemos a las columnas (como cuando hicimos el split) y podemos acceder a ellas.

La diferencia que podemos notar aquí es que al crear el lector indicamos el delimitador, de este modo podemos cambiarlo fácilmente. La salida es la misma que la anterior, y se puede probar en este enlace.

Ejercicio con Python y CSV: promedio

Solo para terminar este post te mostraré un ejercicio sencillo. A partir de los datos, vamos a sacar el promedio de los precios y el promedio de la calificación. Realmente estos datos no son útiles, pero sí que sirven para practicar.

Por lo tanto el código queda así:

Si quieres, ejecuta el ejercicio aquí. También te dejo con más tutoriales sobre Python.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

2 comentarios en “Leer archivo CSV con Python”

  1. Buenas noches, podría ayudarme con este ejercicio por favor. Realice un procedimiento que imprima la cantidad de números mayores a 50
    encontrados en el archivo “Advertising.csv” (Ejemplo: “En el archivo existen
    30 números mayores a 50”).

Dejar un comentario