当前位置 : 主页 > 编程语言 > python >

CSV__04--python使用迭代器读取csv文件出现读取结果为空的解决办法

来源:互联网 收集:自由互联 发布时间:2022-12-23
1 迭代器的概念 迭代器(iterator)有时又称光标(cursor)是程序设计的软件设计模式,可在容器对象(container,例如链表或数组)上遍访的接口。 2 迭代器的特点 强制性:必须将元素从

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]

【文章原创作者:大丰网站开发公司 http://www.1234xp.com/dafeng.html 复制请保留原URL】
网友评论