1 回答

TA贡献1830条经验 获得超3个赞
您正在重复使用reader已经迭代过的同一个对象,因此第二次调用read_lines它时,它将为空。
您需要重置或重新创建它 -重置 csv.reader() 迭代器
for row_number, row in read_lines(reader, r):
# do stuff
# TODO: reset 'reader'
for row_number, row in read_lines(reader, r2):
# do stuff
或者,将所有行读入一个生成器,然后在迭代一次时将它们过滤掉
with open(file_name, 'r') as File:
reader = csv.reader(File, dialect='tab_delim')
r = list(range(4))
r2 = list(range(4, 7))
combined_list = []
combined_list2 = []
for row_number, row in enumerate(csv_reader):
data = list(it.combinations(row, 2))
if row_number in r:
combined_list.append(data)
if row_number in r2:
combined_list2.append(data)
添加回答
举报