Python 列表索引超出范围,有人知道吗?
我正在使用tabel.txt文件,但遇到了问题。我想显示第四列的数据,但我得到了Python 列表索引超出范围,有人知道吗?,python,list,indexing,range,out,Python,List,Indexing,Range,Out,我正在使用tabel.txt文件,但遇到了问题。我想显示第四列的数据,但我得到了 error: list index out of range 有人能帮我吗 f = open("tabel.txt", 'r') for line in f: a=line.split("\t") print(a[3]) 您可以这样做: f = open("tabel.txt", 'r') for line in f: a=line.split("\t") i
error: list index out of range
有人能帮我吗
f = open("tabel.txt", 'r')
for line in f:
a=line.split("\t")
print(a[3])
您可以这样做:
f = open("tabel.txt", 'r')
for line in f:
a=line.split("\t")
if len(a)>3:
print(a[3])
else:
print a
通过这种方式,您可以看到这一行的问题所在。
正如其中一条评论所说,99%这是最后一行 如前所述-很可能您在某个时候遗漏了第4列。这里的良好做法是使用try.。除非您不确定您的数据:
f = open("tabel.txt", 'r')
i = 0
for line in f:
a=line.split("\t")
try:
print(a[3])
except IndexError:
print("Empty field at line %s" % str(i))
i += 1
其中一行没有3列,因此引发异常。我打赌这是最后一个只有换行符的。塔达!您正在按制表符拆分,所以可能没有3列?第三栏无论如何都是[2]栏。@ElmoVanKielmo这是他缺少的第四栏…@OBP你当然是对的:可能是第四栏的副本,他缺少了第四栏,为真理修正:D@karlfel如果这是您想要的,请随意接受…: