python-3.x - 到达空列时停止循环
问题描述
我正在处理一个转换为 CSV 文件的 XLSX 文件,它有几列数据。每列之间没有空格,当然,在最后一列之后,只有空单元格。我遍历每一行,每一列,直到最后一列。我正在打印每一列数据。至此,一切正常。
我在这里复制循环开始检查所有列的脚本部分:
start= 0
for line in myfile:
for col in line:
if col:
print("e.g.: PRINTED")
start+= 1
elif not col:
break
我实现了打印所有列,但在最后一列之后,我得到了
IndexError: list index out of range
我不明白为什么它成功打印到最后一列(如我所愿),但之后它并没有停止而是抛出这个错误。
我希望这写得很清楚。感谢帮助!
解决方案
您好,Marco,因为在您阅读的最后一列之后,您正试图再次迭代
start+= 1
. 这个问题可以通过稍微调整你的循环来解决。
- 使用 for 循环代替 foreach 循环。
- 将您的迭代放在其他地方。
推荐阅读
- javascript - 用 JavaScript 构造 Json 表
- angularjs - Angular 1.6 ng-重复
- c# - 使用 Web API 默认模型绑定器自定义属性名称?
- android - 由于互联网质量差,异步任务执行了2次-
- php - 我需要显示数据库中的最后一条记录。不要重复id
- assembly - MIPS:在基偏移寻址中使用标签
- android - 从链接启动应用程序时的 Android 消息、电子邮件应用程序行为
- service - 如何编辑 Kubernetes ServiceAccount 的命名空间
- javascript - 从节点 js 请求外部 url
- google-cloud-platform - BigQuery DML(插入/删除/更新)分区时间复杂度