List index out of range, but list has enough elements

Stefan Behnel stefan_ml at behnel.de
Tue Nov 9 06:00:27 EST 2010


[rearranged the responses in the right order]

Costin Gamenț, 09.11.2010 11:44:
>> On Tue, Nov 9, 2010 at 3:21 PM, Costin Gamenț wrote:
>>> On Tue, Nov 9, 2010 at 11:33 AM, Stefan Behnel wrote:
>>>> Costin Gamenț, 09.11.2010 10:24:
>>>>> 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?
>>>>
>>>> Are you sure the output you get from the "print j" is from the same loop
>>>> iteration as the "print i[0]"? Try adding "i" to the output.
>>>>
>>> Thank you for your timely response. Yes, I am sure "i" and "j" are
>>> from the same iteration. I should point out that "i" actually has 8
>>> elements and that str(i) gives a nice printout.
>>>
> Thank you all for your interest in my problem. As Peter pointed out,
> there was one row with zero elements in it and that's where my problem
> was (of course it was the very last row, hence my confidence I have
> "good" data).

A classic "don't be sure before you've tested". ;-)

Stefan




More information about the Python-list mailing list