Python 循环的文件读取嵌套赢得';t循环多次
我知道外部for循环应该运行一次,而内部for循环则完全运行,但是一旦内部for循环完成,外部for循环就再也不会在文件的第二行继续。这里怎么了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:
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样本和预期输出吗?