我目前正在攻读GCSE学生的计算机科学。我和我的老师正在努力完成任务3.任务的要求是: 然后需要询问用户他们想要查看的班级 在此之后,它将需要询问他们是否希望按字母顺序查看文件,特定班级的高分或他们是否想要查看所选班级中每个学生的平均值
import csv
class_a = open('classA.txt')
csv_a = csv.reader(class_a)
for row in csv_a:
row[2] = int(row[2])
print(row[2])
当我运行程序时,我收到此错误
Traceback (most recent call last):
File "C:\Users\Roo\Desktop\Python\Class\Test.py", line 7, in <module>
row[1]= int(row[1])
IndexError: list index out of range
我在python中运行时的代码告诉我第13行有一个问题
"index out of range"
我的文字文件包含:
Roo,2,3,3
Roo,4,4,5
Alfie,5,8,2
Alfie,2,8,5
Bob,2,8,6
Connor,3,5,9
Connor,5,3,3
Ellis,5,6,2
George,5,4,1
Ellis,4,9,3
Nathan,5,6,5
George,5,5,6
Alfie,9,4,7
George,4,7,9
Celis,4,5,4
Leo,3,2,3
Celis,6,1,2
Leo,5,2,1
当我运行程序代码时,row[2] = int(row[2])
告诉我它超出了范围?有解决方案吗
请保持基本,我目前是python的新手,并且不了解所有技术术语
答案 0 :(得分:0)
你可能有一个空行
classA.txt
的结尾。
使用
for row in csv_a:
if row: # or better if len(row)==4:
row[2] = int(row[2])
print(row[2])
之前检查该行是否为空 你访问第二/第三个条目。