List index out of range, but list has enough elements

Peter Otten __peter__ at web.de
Tue Nov 9 04:37:58 EST 2010


Costin Gamenț wrote:

> Hi, I am trying to read a string as csv, but I encountered an odd
> problem. Here's my code:
> 
>         csvfile = csv.reader(datastr.split('\n'), delimiter=';')
>         r = ''
>         for i in csvfile:
>                 for j in i:
>                         print j
>                 print i[0]
> 
> the "print j" statement works, but "print i[0]" returns "IndexError:
> list index out of range". Am I missing something?

Change

print i[0]

to

print i

You'll see that there are empty rows in your data. You cannot detect these 
rows with

for j in i:
   print j

because you get zero iterations, i. e. the 

print j 

statement is never executed for these rows.

Peter



More information about the Python-list mailing list