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:

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.