繁体   English   中英

为什么我的代码中总是出现列表索引超出范围错误?

[英]Why do I keep getting a list index out of range error in my code?

这是我的 csv 文件:

dan, 12pts

这是代码,我的代码中不断出现索引超出范围错误? 我不明白它有什么问题:

import csv

with open('scoreboard.csv','r') as csv_file:
   csv_reader = csv.reader(csv_file)

   for line in csv_reader:
       print(line[1])

任何人都可以帮忙吗?

这很可能是由于您的文件中有一个空行,因此没有第二个元素。 要对此进行诊断,请使用一些额外的报告来检测您的代码:

import csv

with open('scoreboard.csv','r') as csv_file:
   csv_reader = csv.reader(csv_file)

   for line in csv_reader:
       print(line)
       print(len(line))
       print(line[1])

这将告诉你什么地方出了错,它炸毁之前

在 csv 文件的第一行之后有一个空行。

通过在第一行后附加一个空行来重现您的错误(注意:“<”字符不是 csv 文件的一部分):

< dan, 12pts
<

我们当然会收到错误消息:

import csv

with open('scoreboard.txt','r') as csv_file:
   csv_reader = csv.reader(csv_file)

   for line in csv_reader:
       print(line[1])

出去:

print(line[1])

IndexError: list index out of range

乍一看,csv 文件中的空白行可以很好地隐藏,但是在我们删除它(或它们!)之后:

< dan, 12pts

出去:

12pts

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM