Re: String object has no attribute "append"

2013-05-29 Thread Chris Angelico
On Wed, May 29, 2013 at 4:25 AM, Matt Graves  wrote:
> I receive this error while toying around with Functions...
>
> def pulldata(speclist,speccolumn):
>  (speclist).append(column[('speccolumn')])
>
> pulldata(speclist = 'numbers', speccolumn = "0")
>
> I'm getting the error because it should say "numbers.append", but it is 
> reading it as "(speclist).append".

Others have answered the immediate problem, but you may find this a
worthwhile read:

http://mail.python.org/pipermail/tutor/2010-December/080505.html

It's an excellent explanation of the way Python passes arguments to functions.

ChrisA
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: String object has no attribute "append"

2013-05-28 Thread Ian Kelly
On Tue, May 28, 2013 at 12:41 PM, Ian Kelly  wrote:
> On Tue, May 28, 2013 at 12:25 PM, Matt Graves  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 
>>>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)

And along the same lines, the expression column[('speccolumn')] should
just be column[speccolumn].
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: String object has no attribute "append"

2013-05-28 Thread Ian Kelly
On Tue, May 28, 2013 at 12:25 PM, Matt Graves  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 
>>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)
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: String object has no attribute "append"

2013-05-28 Thread mar...@python.net


On Tue, May 28, 2013, at 02:25 PM, Matt Graves 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 
> >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".

Because it indeed says "(speclist).append"... am I missing something?

-- 
http://mail.python.org/mailman/listinfo/python-list


String object has no attribute "append"

2013-05-28 Thread Matt Graves
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 
>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. 
-- 
http://mail.python.org/mailman/listinfo/python-list