首页 > 编程语言 >CSV__04--python使用迭代器读取csv文件出现读取结果为空的解决办法

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

时间:2022-12-07 13:32:50浏览次数:57  
标签:__ rt row3 读取 迭代 reader csv open

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]

标签:__,rt,row3,读取,迭代,reader,csv,open
From: https://blog.51cto.com/husheng/5918791

相关文章

  • 图像分割 语义分割 Augmentor数据增强(数据扩充)
    1.AugmentorAugmentorisanimageaugmentationlibraryinPythonformachinelearning.Itaimstobeastandalonelibrarythatisplatformandframeworkindepe......
  • 【每天一个java设计模式(完)】 - 四万字实现23种设计模式(附示例源码)
    什么是设计模式:​​【每天一个java设计模式(零)】-设计模式基本概念及七大设计原则​​创建型模式工厂模式:​​【每天一个java设计模式(一)】-工厂模式​​抽象工厂模式:......
  • android nativate 动态注册 静态注册
    说明:在java函数的入口比较容易分析,把activity的生命周期或者关键函数通过放在so层,分析起来就困难多了 1、在MainActivity中packagecom.demo.nativate;import......
  • 关于博客的一些想法
    在博客园上每天记随笔,总结每天学的知识然后达到一定程度后,将所学知识汇总为一篇文章,图片少就发到自己部署的博客上,图片多就在掘金发布,发布的文章在notion笔记中......
  • view-design tabpane禁用后renderHeader失效问题
    需求是这样的在tabPane的renderHeader里面添加hover事件(使用组件自带的Poptip)能显示提示其实这个不算是问题,设置disabled属性后,原本的元素上面添加了 ivu-tabs-tab-disa......
  • 7个有用的Pandas显示选项
    Pandas是一个在数据科学中常用的功能强大的Python库。它可以从各种来源加载和操作数据集。当使用Pandas时,默认选项就已经适合大多数人了。但是在某些情况下,我们可能希望更......
  • 数组
    1、用auto通过数组名字获取到的类型是指针,用decltype通过数组名字获取到的类型是数组类型。2、用部分数组初始化vector,表示范围的数组指针与迭代器类似,第一个指针指向第一......
  • 河北稳控科技VM系列振弦采集模块频率计算与质量评定
    河北稳控科技VM系列振弦采集模块频率计算与质量评定 运用采集到的若干信号样本数据,首先估算得到一个频率值,称为“伪频率值”;然后在模块异常数据剔除算法模型中,以寄......
  • 花一块钱登录使用openAI
    1打开网址,注册登录https://sms-activate.org/cn(因为印度的便宜)2充值3再次搜索openai,选择印度(因为便宜)再到注册页面去,使用购买的手机号去注册4到购买的网址上......
  • Vue中的diff算法深度解析
    模板tamplate经过parse,optimize,generate等一些列操作之后,把AST转为renderfunctioncode进而生成虚拟VNode,模板编译阶段基本已经完成了,那么这一章,我们来探讨一下Vue中的一......