Ahoj, piszę skrypt w języku Python, aby odfiltrować duże pliki CSV.Zwracanie wiersza z pliku CSV, jeśli określona wartość w wierszu pasuje do warunku
Chcę tylko zachować wiersze, które spełniają moje kryteria.
Mój wkład jest 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ę wrócić linie gdzie Total_Depth 0.
Śledzę this answer aby odczytać dane . Ale utknąłem próbując parsować rzędy i wyciągnąć linie, które spełniają mój stan.
Oto kod mam tak daleko:
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 formie słownika, i chcę, aby filtrować je na podstawie klucza „Total_Depth”, ale jestem pewien, jak to zrobić. Zamierzam użyć instrukcji "if", aby wybrać odpowiednie wiersze, ale nie jestem pewien, jak to zrobić ze strukturą słownika.
Każda rada byłaby mile widziana. SB :)
Dzięki @falsetru, to działało. –