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:

forrowin 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:

forrowin exchReader:
    currency =rowandrow[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:

forrowin 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"