Python:IndexError:list index超出范围(从具有3列的CSV读取)

2024-07-08 07:31:46 发布

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

我正在创建一个从CSV文件中的数据绘制的堆积条形图。数据如下:

ANC-088,333,148
ANC-089,153,86
ANC-090,138,75

还有更多像这样的行。在

我要开始玩曲线图了:

^{pr2}$

当我决定看看事情的进展时,我得到了以下错误:

---> 13     totalwords.append(split[1])
IndexError: list index out of range

我看不到什么?我解决这个问题的第一步是什么?(当我继续努力教自己这些东西的时候,更多的解释是最受欢迎的。)


Tags: 文件csv数据错误绘制事情listsplit
2条回答

显然这是您的.csv的问题,您的一行或多行不包含所需的数据。您可以尝试消除这些行:

eachLine = [item for item in readFile.split('\n') if len(item.split(',')) >= 3]

是这样的:

^{pr2}$

如果您确定整个文件看起来像您描述的那样,问题将是最后一个换行符(在文件末尾),其中一个空字符串被插入eachLine(在换行符处拆分行,在最后一个换行符之后没有任何内容)。因此,拆分后只需省略eachline中的最后一个元素。在

如果您想要一个健壮的、通用的解决方案来处理不能分成三部分的每一行,那么您应该使用user1823提供的解决方案。但是,如果问题真的只是我上面所描述的那样,那么使用拆分检查条件会降低处理大型文件的速度。在

相关问题 更多 >

    热门问题