Python for 循环停止其他 for 循环

时间:2021-04-14 15:56:55

标签: python csv for-loop

出于某种原因,这段python代码中的第二个循环似乎无缘无故地想跳过我不知道为什么但它读取for循环的第一行然后跳过它而不执行任何代码里面。

出于某种原因,删除第一个 for 循环允许第二个循环运行,但我不知道为什么或如何。



input("nothing")

with open ("Rainbow Six Siege Survey.csv") as csv_file:
    csv_reader = csv.DictReader(csv_file)

    line_count = 0

    WinLoss = []
    KillDeath = []
    Names = []
    Time = []

    for i in range(0, len(list(csv_reader))):
        WinLoss.append(0)
        KillDeath.append(0)
        Names.append("")
        Time.append("")


    for row in csv_reader:
        #if line_count == 0:
            #print("The columns are: {",".join(row)}")
        #else:
            #Names[line_count-1] = row["UserName"]
        #linecount+=1
        print("One")

    print(KillDeath, WinLoss, Names, Time)```

1 个答案:

答案 0 :(得分:1)

csv_reader 是一个迭代器,所以一旦你迭代它,元素就会被使用。您可以将元素保存在列表中,并根据需要对其进行多次迭代:

input("nothing")

with open ("Rainbow Six Siege Survey.csv") as csv_file:
    csv_reader = csv.DictReader(csv_file)
    content = list(csv_reader)

    line_count = 0

    WinLoss = []
    KillDeath = []
    Names = []
    Time = []

    for i in range(0, len(content)):
        WinLoss.append(0)
        KillDeath.append(0)
        Names.append("")
        Time.append("")


    for row in content:
        #if line_count == 0:
            #print("The columns are: {",".join(row)}")
        #else:
            #Names[line_count-1] = row["UserName"]
        #linecount+=1
        print("One")

    print(KillDeath, WinLoss, Names, Time)