索引器错误:列表索引超出范围:即使在列表

2024-10-03 17:21:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到的列表索引超出范围错误,即使它不是。我也附上了我的CSV图像。在

name=[]
value=[]
readFile=open('CsvMat.csv','r').read()
eachline=readFile.split('\n')


for line in eachline:
    split=line.split(',')
    name.append(split[0])
    value.append(split[1])

pos= arange(len(name))+.5
barh(pos,value,align='center',color='#b8ff5c')
yticks(pos,name)
show()

Tags: csvnamepos图像列表value错误line
1条回答
网友
1楼 · 发布于 2024-10-03 17:21:08

这里有两种可能性:

  1. 你有一行没有逗号。split将是一个只有一个元素的列表。在
  2. 你有一条空线。split是一个空列表。在

无论哪种方式,你都必须防范这种情况,也许是:

if len(splits) < 2:
    continue

跳过这些行。在

您正在读取一个CSV文件;您可能希望避免重新发明CSV读取轮,并在此处使用^{} module

^{pr2}$

请注意,我将name重命名为names,并将{}重命名为{},以反映这些是列表。我还将这些值转换为浮点数,以便在绘图中使用;如果它们是整数,则将float()替换为int()。在

相关问题 更多 >