Devolver una fila desde un CSV, si el valor especificado dentro de la fila coincide con la condición
Ahoy, estoy escribiendo un script en Python para filtrar algunos archivos CSV grandes.
Solo quiero mantener filas que cumplan con mis criterios.
Mi entrada es un archivo CSV en el siguiente formato
Locus Total_Depth Average_Depth_sample Depth_for_17
chr1:6484996 1030 1030 1030
chr1:6484997 14 14 14
chr1:6484998 0 0 0
Quiero devolver líneas donde el Total_Depth es 0.
He estado siguiendoesta respuesta para leer los datos. Pero estoy atascado tratando de analizar las filas y sacar las líneas que cumplen con mi condición.
Aquí está el código que tengo hasta ahora:
import csv
f = open("file path", 'rb')
reader = csv.reader(f) #reader object which iterates over a csv file(f)
headers = reader.next() #assign the first row to the headers variable
column = {} #list of columns
for h in headers: #for each header
column[h] = []
for row in reader: #for each row in the reader object
for h, v in zip(headers, row): #combine header names with row values (v) in a series of tuples
column[h].append(v) #append each value to the relevant column
Entiendo que mis datos ahora están en formato de diccionario y quiero filtrarlos según la clave "Total_Depth", pero no estoy seguro de cómo hacerlo. Mi objetivo es usar una declaración 'if' para seleccionar las filas relevantes, pero no estoy seguro de cómo hacerlo con la estructura del diccionario.
Cualquier consejo sería muy apreciado. SB :)