Re: String object has no attribute "append"
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"
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"
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"
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"
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