Convertir CSV a lista de diccionarios con Python - Ejemplo de código

Convertir CSV a lista de diccionarios en Python

Hoy vamos a ver un ejemplo simple con Python y los archivos CSV. Veremos cómo convertir un CSV a un arreglo.

Primero vamos a convertir cada columna del archivo a un diccionario de Python, y después vamos a agregar ese diccionario a nuestra lista.

En el ejemplo te mostraré cómo leer datos enteros y flotantes, así como cadenas. De este modo tú podrás leer cualquier archivo separado por comas para tenerlo como array en Python.

Nota: yo decidí usar un diccionario, tú podrías usar una lista de listas o cualquier otra cosa.

Explicación del algoritmo

Vamos a abrir y leer el archivo línea por línea (omitiendo el encabezado si es necesario). En cada paso, tendremos una línea del CSV.

Ahora convertiremos esa línea a arreglo con split, y ya  tendremos las columnas separadas. Luego transformamos cada valor a su tipo en caso de ser necesario, y lo asignamos al diccionario.

Cuando tenemos el diccionario, lo agregamos al arreglo con append. Y finalmente ya tendremos el CSV cargado a nuestro arreglo con Python.

El archivo CSV

Para este ejemplo tengo un archivo de alumnos en donde la primera línea es el encabezado y luego tenemos, en orden, el nombre, la edad, la altura y la matrícula.

(dale a view raw al gist para que veas el archivo real).

El orden de las columnas importa, ya que los vamos a leer así más adelante.

CSV a lista de Python

Entonces abrimos el archivo. Definimos el separador y la lista donde vamos a tener los datos:

Luego iteramos el archivo línea por línea, quitamos el salto de línea con rstrip, convertimos y asignamos. La definición del diccionario está junto con la llamada a append en la línea 8.

Fíjate en que estoy usando int y float para convertir las cadenas a números. Finalmente encerramos todo el comportamiento en una función:

Y ya podemos invocar a esta función desde cualquier lugar, pasándole el nombre del archivo.

Poniendo todo junto

Entonces con el siguiente CSV:

Podemos usar el siguiente código para leer el archivo e imprimir cada dato por separado:

La salida es correcta:

Convertir CSV a lista de diccionarios con Python - Ejemplo de código
Convertir CSV a lista de diccionarios con Python – Ejemplo de código

En este caso solo estoy imprimiendo los datos pero tú puedes hacer cualquier otro tipo de cosas con ellos.

Y con este ejemplo espero que quede claro cómo leer un CSV en Python para convertirlo a un arreglo.

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.

Dejar un comentario