String object has no attribute "append"
Ian Kelly
ian.g.kelly at gmail.com
Tue May 28 14:41:37 EDT 2013
On Tue, May 28, 2013 at 12:25 PM, Matt Graves <tunacubes at gmail.com> wrote:
> I receive this error while toying around with Functions...
>
> def pulldata(speclist,speccolumn):
> with open('profiles.csv', 'r') as f:
> reader = csv.reader(f)
> for column in reader:
> (speclist).append(column[('speccolumn')])
>
> pulldata(speclist = 'numbers', speccolumn = "0")
>
>
>>Traceback (most recent call last):
>> File "C:\Desktop\Python\CFI\Devices V2\users.py", line 17, in <module>
>> pulldata(speclist = 'numbers', speccolumn = "0")
>> File "C:\Desktop\Python\CFI\Devices V2\users.py", line 16, in pulldata
>> (speclist).append(column[('speccolumn')])
>>AttributeError: 'str' object has no attribute 'append'
>
> I'm getting the error because it should say "numbers.append", but it is reading it as "(speclist).append".
>
> This is my first time playing with functions, so be gentle.
It looks like you're trying to pass in a list called 'numbers' into
the pulldata function, but that is not what's happening. Because of
the single quotes you have around numbers, you are passing in the
/string/ 'numbers' and calling it 'speclist' instead. The same goes
for speccolumn as well; I think you mean to pass in the integer 0, but
you're passing in the string "0" instead. Try it without the quotes:
pulldata(speclist = numbers, speccolumn = 0)
More information about the Python-list
mailing list