我有一个代码,我写了为了处理数据从一些实验.数据通常存储在.csv文件,有几列和许多行.在某些时候,我需要看看某一个列和处理值只在这一列.为了做到这一点,我引用它row[N]
,其中N是我需要处理的列的编号。我已经成功地处理了12个文件中的11个,然后在最后一个文件上得到了错误:
Traceback (most recent call last):
File "C:\Users\User\PycharmProjects\pythonProject\main.py", line 63, in <module>
brdn_voltage('volt_12.csv')
File "C:\Users\User\PycharmProjects\pythonProject\main.py", line 18, in brdn_voltage
a = row[3] #row[N],
~~~^^^
IndexError: list index out of range
我不明白的事情是,为什么一切都很好的前11个文件,然后突然-那.例如,这是一个片段的前一个文件:volt_11.csv正如您所看到的,有4列,所以通过使用row[3]
,我应该能够访问最后一列,现在,这是所讨论的文件的一个片段:volt_12.csv在我看来完全一样。但是,正如已经说过的,在这个文件中使用row[3]
会产生错误。此外,如果我使用row[2]
或row[1]
等,它会导致同样的错误。老实说,我不明白为什么。为了清楚起见:代码对于所有文件都是相同的。
1条答案
按热度按时间hi3rlvi21#
谢谢大家!Carcigenicate是对的,文件末尾确实有一个空行。我想知道它是怎么到那里的...使用
if len(row) > 0:
解决了这个问题。