Python csv文件搜索

时间:2018-01-06 18:25:37

标签: loops for-loop while-loop

我正在尝试构建一个简单的程序,该程序从学生那里获取Roll编号并从CSV文件显示他的结果。 这是我的CSV文件:https://www.dropbox.com/s/7lpiwoybvbuwc95/results.csv?dl=0

这是我的python代码:         import csv

usn= input("Enter your USN number\nINSTRUCTION: Keep your caps lock on.\n")

f= open('results.csv')
csv_f= csv.reader(f)

for a in csv_f:
    if a[0] == usn:
        print("Name of the student: ",a[1])
        break

for row in csv_f:
    if usn in row:
    print(row[3]+" - "+row[4])

f.close()

input("\nPress ENTER to exit")

我面临的问题是,在显示结果时,会跳过第一个主题

1 个答案:

答案 0 :(得分:0)

您好我认为问题是您的csv阅读器在第二个for循环中的第一个结果之后从索引处开始。 试试这个来添加 f.seek(0)来从头开始读取文件。

import csv
usn = input("Enter your USN number\nINSTRUCTION: Keep your caps lock on.\n")

f = open('results.csv')

for a in csv.reader(f):
  if a[0] == usn:
    print("Name of the student: " + a[1])
    break

# return to the beginning of the csv file
f.seek(0)

for row in csv.reader(f):
  if usn in row:
    print(row[3]+" - "+row[4])

f.close()
input("\nPress ENTER to exit")