簡體   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