我运行一个代码,它给出了我想要的结果,但它在结果的末尾显示“IndexError:list index超出范围”。
以下是我所拥有数据的一部分:
AMI;ZFAMIEM1;NBAMI702;DSDOU904;WHD93;SAGEM_WHD93_stbmib_02.29.82;08:3E:5D:5F:7A:42;2018-01-26 12:14:35;1516965275678;/app//wakeup;\N
AMI;ZFAMIEM1;NBAMI702;DSDOU904;WHD93;SAGEM_WHD93_stbmib_02.29.82;08:3E:5D:5F:7A:42;2018-01-26 12:14:35;1516965275824;/app//connect;ethernet
AMI;ZFAMIEM1;NBAMI702;DSDOU904;WHD93;SAGEM_WHD93_stbmib_02.29.82;08:3E:5D:5F:7A:42;2018-01-26 12:14:35;1516965275970;/app//tv_off;\N
这是我的代码:
ligne = data.split("\n")
for i in ligne:
col = i.split(";")
print(col[1])
我正在寻找的结果是我得到的代码是:
ZFAMIEM1
ZFAMIEM1
ZFAMIEM1
IndexError
Traceback (most recent call last)
<ipython-input-53-4d9c2e4b9014> in <module>()
5 for i in ligne:
6 col = i.split(";")
--> 7 print(col[1])
IndexError: list index out of range
如果您对如何避免此错误有任何疑问,请帮助我。谢谢!
答案 0 :(得分:0)
这可能会有所帮助。我在分割后使用filter
删除任何空列表。
<强> EX:强>
s = r"""AMI;ZFAMIEM1;NBAMI702;DSDOU904;WHD93;SAGEM_WHD93_stbmib_02.29.82;08:3E:5D:5F:7A:42;2018-01-26 12:14:35;1516965275678;/app//wakeup;\n AMI;ZFAMIEM1;NBAMI702;DSDOU904;WHD93;SAGEM_WHD93_stbmib_02.29.82;08:3E:5D:5F:7A:42;2018-01-26 12:14:35;1516965275824;/app//connect;ethernet\n AMI;ZFAMIEM1;NBAMI702;DSDOU904;WHD93;SAGEM_WHD93_stbmib_02.29.82;08:3E:5D:5F:7A:42;2018-01-26 12:14:35;1516965275970;/app//tv_off;\n"""
for i in filter(None, s.split(r"\n")):
col = i.split(";")
print(col[1])
<强>输出:强>
ZFAMIEM1
ZFAMIEM1
ZFAMIEM1