Python 循环的文件读取嵌套赢得';t循环多次

Python 循环的文件读取嵌套赢得';t循环多次,python,for-loop,Python,For Loop,我知道外部for循环应该运行一次,而内部for循环则完全运行,但是一旦内部for循环完成,外部for循环就再也不会在文件的第二行继续。这里怎么了 import csv import pprint import sys team = [] with open("sample_runner_data.csv", "r") as sample_csv: sample_csv = csv.DictReader(sample_csv) for lines in sample_csv:

我知道外部for循环应该运行一次,而内部for循环则完全运行,但是一旦内部for循环完成,外部for循环就再也不会在文件的第二行继续。这里怎么了

import csv
import pprint
import sys


team = []

with open("sample_runner_data.csv", "r") as sample_csv:
    sample_csv = csv.DictReader(sample_csv)
    for lines in sample_csv:
        theLine = lines["team"]
        for line in sample_csv:
            if(theLine == line["team"]):
                print(line["team"])
                team.append(line["time"])
'''
The output of the above print(line["team]) statement is as follows. Abra is simply the team 
name and there are 7 teams named Abra.

Abra
Abra
Abra
Abra
Abra
Abra
Abra
'''

您使用的是相同的底层
sample_csv
文件,这意味着一旦您遍历了它,所有后续的迭代器都将结束。读入数据,然后执行循环:

with open("sample_runner_data.csv", "r") as sample_csv:
    sample_csv = csv.DictReader(sample_csv)
    data = list(sample_csv)

for lines in data:
    theLine = lines["team"]
    for line in data:
        if(theLine == line["team"]):
            print(line["team"])
            team.append(line["time"])
但是,如果您只是一直在寻找每个团队的集合,那么这可能不是您想要的,例如:

data = {}
with open("sample_runner_data.csv", "r") as sample_csv:
    sample_csv = csv.DictReader(sample_csv)
    for line in sample_csv:
        data.setdefault(line['team'], []).append(line['time'])

现在
数据
将包含
团队
作为键,所有
时间
作为值。

您能发布csv样本和预期输出吗?