Ahoi, ich schreibe ein Python-Skript, um einige große CSV-Dateien zu filtern.Zurückgeben einer Zeile aus einer CSV-Datei, wenn der angegebene Wert in der Zeile der Bedingung entspricht
Ich möchte nur Zeilen, die meine Kriterien erfüllen.
Meine Eingabe ist eine CSV-Datei in folgendem Format
Locus Total_Depth Average_Depth_sample Depth_for_17 chr1:6484996 1030 1030 1030 chr1:6484997 14 14 14 chr1:6484998 0 0 0
Ich möchte Linien zurückzukehren, wo die Total_Depth ist 0.
Ich habe this answer wurde im Anschluss an die Daten zu lesen, . Aber ich bleibe stecken, versuchen, über die Reihen zu analysieren und ziehe die Linien heraus, die meinen Zustand treffen. Hier
ist der Code Ich habe bisher:
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
Ich verstehe, dass meine Daten nun in einem Wörterbuch-Format ist, und ich möchte es filtern, basierend auf der „Total_Depth“ -Taste, aber ich bin nicht sicher, Wie macht man das. Ich ziele darauf ab, eine 'if' Anweisung zu verwenden, um die relevanten Zeilen auszuwählen, aber nicht sicher, wie dies mit der Wörterbuchstruktur zu tun ist.
Jeder Rat würde sehr geschätzt werden. SB :)
Dank @falsetru, das hat ein Vergnügen gemacht. –