Skip to content Skip to sidebar Skip to footer

IndexError: List Index Out Of Range - Python

I have the following error: currency = row[0] IndexError: list index out of range Here is the code: crntAmnt = int(input('Please enter the amount of money to convert: ')) pr

Solution 1:

You probably have a blank row in your csv file, causing it to produce an empty list

There are a couple solutions


1. Check if there are elements, only proceed if there are:

for row in exchReader:
    if len(row):  # can also just do   if row:
        currency = row[0]
        if currency == crntCurrency:

2. Short-circuit an and operator to make currency an empty list, which won't match crntCurrency:

for row in exchReader:
    currency = row and row[0]
    if currency == crntCurrency:

Solution 2:

Try printing out the row. The convention for variable names in python are like_this and not likeThis. You might find the break keyword useful:

for row in exch_reader:
    currency = row[0]
    if currency == crnt_currency:
        crnt_rt = row[1]
        break

To only index the row when the row actually contains something:

currency = row and row[0]

Here row[0] is only executed if row evaluates to True, which would be when it has at least one element.


Post a Comment for "IndexError: List Index Out Of Range - Python"