在 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?
我正在使用 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?