2017-10-15 18 views
0
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しか見つからず、2番目のものは見つからない。Python CSVリストを反復処理する方法

Used file

+3

テキストを表示したい時に画像を添付しないでください。それは私たちが読むのに不必要に難しいことです。しかしそれはさておき、こんにちは!だから、あなたは質問をするのを忘れてしまったし、これまで自分が解決しようとしてきたことをあなた自身も見せていない。 –

答えて

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以上のループ:

関連する問題