在 Python 中逐行读取 csv 和匹配条件

Reading csv row-wise and matching conditions in Python

我正在使用 python 和 csv,试图检查文件的每一行是否有特定值。我认为我的循环是错误的。我在哪里可以添加条件来检查?

它基本上必须检查现有的数据集,如果找到相同的数据集则中断循环,否则应该继续写入。这是我试过的:

csvfile = open('file1.csv','r')
csvFileArray = []
for row in csv.DictReader(csvfile):
    csvFileArray.append(row)
    
for i in range(0,lines):
    #print(csvFileArray[i])
    (firstentry == csvFileArray[i])

csv 数据:

Status,School,Details
Accepted,Notre Dame / Mendoza,GMAT: 690 Round: Round 4 | Midwest
Note,Vanderbilt / Owen,GRE: 318 Round: Round 2
Waitlisted,Dartmouth / Tuck,GMAT: 720 Round: Round 2

对于条件: 它主要匹配新条目的状态、学校、详细信息。如果新条目与现有条目相同,则 break else writerow

import csv

seen = set()
with open("tmp.csv", "r") as f:
    for line in csv.reader(f, delimiter=","):
        if line in seen:
            break
        else:
            seen.add(line)

根据您要执行的操作,您可能还会发现这种方法很有用:How can I filter lines on load in Pandas read_csv function?