Python CSV如何遍历列表

时间:2017-10-15 21:11:27

标签: python csv

import csv

f =open('Scores.csv')
csv_f = csv.reader(f)
    #next(readCSV)

users = []
quizzes = []
grades = []

for row in csv_f:

    user = row[0]
    quiz = row[2]
    grade = row[5]

    users.append(user)
    quizzes.append(quiz)
    grades.append(grade)

whatUser = input ("User: ")

if whatUser in users:
    coldex = users.index(whatUser)
    theQuiz = quizzes[coldex]
    theGrade = grades[coldex]

    print("Username: ", whatUser)
    print("Quizzes: ", theQuiz)
    print("Grades: ", theGrade)

我正在尝试让这个程序在行[0]中查找所有用户,然后在行[2]和[5]上打印相关信息。正如您在附加图像中看到的那样,它只能找到1个Bob而不是代码运行时的第二个。

Used file

2 个答案:

答案 0 :(得分:1)

将最后一部分更改为:

for i in range(len(users)):
    if users[i] == whatUser:
        theQuiz = quizzes[i]
        theGrade = grades[i]

        print("Username: ", whatUser)
        print("Quizzes: ", theQuiz)
        print("Grades: ", theGrade)

index(x)只会返回元素x的第一个索引。因此,你必须循环并处理所有匹配。

答案 1 :(得分:1)

您可以遍历用户并打印每个匹配的用户:

for i, user in enumerate(users):
    if user == whatUser:
        print("Username: ", whatUser)
        print("Quizzes: ", quizzes[i])
        print("Grades: ", grades[i])