Multiples comprensiones de lista devuelven una lista vacía con el administrador de contexto.
Estoy leyendo un archivo csv comprimido y quiero extraer sólo columnas específicas sin usar pandas. Mi código actual sólo devuelve una lista para la primera comprensión de lista, pero no para las siguientes. ¿Cómo puedo extraer múltiples columnas mientras uso un gestor de contexto?
Archivo de entrada:
col1,col2,col3
1,2,3
a,b,c
Mi código
import gzip
import csv
import codecs
with gzip.open(r”myfile.csv.gz”, “r”) as f:
content = csv.reader(codecs.iterdecode(f, “utf-8”))
col_2 = [row[1] for row in content] # Returns [2, "b"]
col_3 = [row[2] for row in content] # Returns []
Salida esperada:
col_2: [2, “b”]
col_3: [3, “c”]
davy.ai
Solución:
Puede utilizar la función
next()
para omitir la fila de encabezado antes de iterar a través del contenido:Salida esperada: