Python 我遇到了一个索引器:当行比所选索引长时,列表索引超出范围

Python 我遇到了一个索引器:当行比所选索引长时,列表索引超出范围,python,Python,我希望在每一行上通过一个文件迭代到所选的索引,但是我得到了这个错误,即使这一行上的变量比我所选的索引多 for thing in lines: item = thing.split(',') **price = item[4]** total_Stock_Value = total_Stock_Value + float(price) print('Total Value of Books in Stock: £{:0,.2f}'.format(total_Stock_V

我希望在每一行上通过一个文件迭代到所选的索引,但是我得到了这个错误,即使这一行上的变量比我所选的索引多

for thing in lines:
    item = thing.split(',')
    **price = item[4]**
    total_Stock_Value = total_Stock_Value + float(price)
print('Total Value of Books in Stock: £{:0,.2f}'.format(total_Stock_Value,'\n'))

检查文件末尾的空换行符,这是发生这种情况的常见位置。出现此错误的原因是,必须有一行没有足够的逗号。

为什么要执行
操作。拆分('\n')
,您不需要按“\n”拆分该行。我们可以看到您正在接收/崩溃的行的示例吗?这里可能发生很多事情。谢谢你能从你的数据文件中提供一些样本来重现这个问题吗?P.G.Wodehouse,Right Ho Jeeves,hb,Penguin,10.99,5,Frient,你可以尝试这样的方法来识别麻烦的行:
try
price=item[4]
除了索引器:
打印(“行有问题:,item”)
。好主意。可能就是这样。只要有任何行没有足够的逗号,这个错误就会在循环中出现。明白了,文件中是一个空行。谢谢