python

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.

See the gist on github.

(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:

See the gist on github.

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.

See the gist on github.

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:

See the gist on github.

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:

See the gist on github.

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

See the gist on github.

La salida es correcta:

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

4 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

4 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

4 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

5 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.