Ahoy, tôi đang viết một tập lệnh Python để lọc một số tệp CSV lớn.Trả lại hàng từ một CSV, nếu giá trị được chỉ định trong hàng khớp với điều kiện
Tôi chỉ muốn giữ các hàng đáp ứng tiêu chí của mình.
đầu vào của tôi là một tập tin CSV theo định dạng sau
Locus Total_Depth Average_Depth_sample Depth_for_17 chr1:6484996 1030 1030 1030 chr1:6484997 14 14 14 chr1:6484998 0 0 0
Tôi muốn quay trở lại dòng nơi Total_Depth là 0.
Tôi đã làm theo this answer để đọc dữ liệu . Nhưng tôi đang cố gắng phân tích các hàng và rút ra những dòng đáp ứng được điều kiện của tôi.
Dưới đây là đoạn code tôi có cho đến nay:
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
Tôi hiểu rằng dữ liệu của tôi bây giờ là trong một định dạng từ điển, và tôi muốn lọc nó dựa trên "Total_Depth" chìa khóa, nhưng tôi không chắc chắn làm như thế nào. Tôi đang định sử dụng câu lệnh 'if' để chọn các hàng có liên quan, nhưng không chắc chắn cách thực hiện điều này với cấu trúc từ điển.
Mọi lời khuyên sẽ được đánh giá cao. SB :)
Cảm ơn @falsetru, đó là một điều trị. –