Python CSV如何遍历lis

2024-10-03 23:31:08 发布

您现在位置:Python中文网/ 问答频道 /正文

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,而不是第二个Bob。在

Used file


Tags: csvinquizusersrowgradegradesprint
2条回答

将最后一部分更改为:

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的第一个索引。因此,必须循环并处理所有匹配项。在

可以循环使用这些用户并打印每个匹配的用户:

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

相关问题 更多 >