Zwrócenie wiersza z CSV, jeśli określona wartość w wierszu odpowiada warunkowi
Ahoy, piszę skrypt Pythona, aby filtrować niektóre duże pliki CSV.
Chcę tylko, aby wiersze spełniały moje kryteria.
Moje dane to plik CSV w następującym formacie
Locus Total_Depth Average_Depth_sample Depth_for_17
chr1:6484996 1030 1030 1030
chr1:6484997 14 14 14
chr1:6484998 0 0 0
Chcę zwrócić linie, w których Total_Depth wynosi 0.
Śledziłemta odpowiedź odczytać dane. Ale utknąłem, próbując przeanalizować wiersze i wyciągnąć linie, które spełniają mój warunek.
Oto kod, który mam do tej pory:
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
Rozumiem, że moje dane są teraz w formacie słownikowym i chcę je filtrować w oparciu o klucz „Całkowita_depth”, ale nie wiem, jak to zrobić. Zamierzam użyć instrukcji „if”, aby wybrać odpowiednie wiersze, ale nie wiem, jak to zrobić za pomocą struktury słownika.
Wszelkie porady byłyby bardzo mile widziane. SB :)