这是我的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])
有人可以帮忙吗?
答案 0 :(得分: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])
这将告诉您发生了什么问题,恰好在发生之前。
答案 1 :(得分:0)
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文件中的空白行可以很好地隐藏pritty,但是在我们删除它(或它们!)之后:
< dan, 12pts
退出:
12pts