1 迭代器的概念
迭代器(iterator)有时又称光标(cursor)是程序设计的软件设计模式,可在容器对象(container,例如链表或数组)上遍访的接口。
2 迭代器的特点
- 强制性:必须将元素从迭代器中取出后,才能使用元素;
- 一次性:取出以后该元素就从迭代器中删除,无法二次遍历;
- 未知性:容器内部元素无法直接定位,只能遍历按序取出。
3 问题解决
迭代器每次使用后会迭代至末尾
当我们再次使用这个迭代器进行for循环读取时得到的结果自然为空
解决方法只需新建一个迭代器即可。
迭代器:IndexError: list index out of range
import csv
#读T1
reader = csv.reader(open('结果1.csv','rt'))
column1 = [row1[0:9] for row1 in reader]
# 写入标题
with open('demo2.csv', 'w', encoding='UTF8', newline='') as f0:
writer0 = csv.writer(f0)
# write the header
writer0.writerow(column1[0])
#读T2
reader2 = csv.reader(open('结果1.csv', 'rt'))
column2 = [row2[0:3]+row2[9:15] for row2 in reader2]
#读T3
reader3 = csv.reader(open('结果1.csv', 'rt'))
column3 = [row3[0:3]+row3[15:21] for row3 in reader3]