我想读取CSV文件每行的第一列,以便尝试找到一个值。目前我有:
def checkForCable(idNum):
with open("test.txt") as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
for row in csv_reader:
if row[0] == idNum:
print("matching barcode found")
return True
else:
print("barcode not on file. Adding...")
return False
但这似乎只是检查第一行的第一列,然后停止,而不是检查CSV文件中n行的所有第一列。例如,如果第0列中的行[0]不等于它要搜索的数字,那么它将不会继续检查第1列中的行[0],我不确定原因
你可以用熊猫。熊猫在处理csv文件方面非常出色
关于守则:
如果您允许,这个
for
循环确实会处理每一行,但是您不允许它,因为if
语句的真部分和假部分在读取第一行后返回,实际上忽略了所有其他部分您可能需要的是这个方案:如果您在第一行中没有找到它,不要立即返回false-您需要检查所有其他行,并且只有在没有行时才返回false
换句话说,类似这样的事情:
相关问题 更多 >
编程相关推荐