From: davidgp on 21 Jun 2010 18:54 hello, i have a text file that contains gps coordinates that i want to load into my mysql database the file is basically in this format: 52.2375412 5.1802704 i basically tried this: lat =0.0 for line in f: lat = float(line) but this gives an error.. does anyone know what i should to do? thanks,
From: Stephen Hansen on 21 Jun 2010 19:00 On 6/21/10 3:54 PM, davidgp wrote: > i basically tried this: > lat =0.0 > for line in f: > lat = float(line) > > but this gives an error.. does anyone know what i should to do? > thanks, "An error"? Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> f = open("test.txt", "r") >>> for line in f: ... print float(line) ... 52.2375412 5.1802704 Always include what the actual error is that you're running into. -- Stephen Hansen ... Also: Ixokai ... Mail: me+list/python (AT) ixokai (DOT) io ... Blog: http://meh.ixokai.io/
From: davidgp on 21 Jun 2010 19:03 On Jun 21, 4:00 pm, Stephen Hansen <me+list/pyt...(a)ixokai.io> wrote: > On 6/21/10 3:54 PM, davidgp wrote: > > > i basically tried this: > > lat =0.0 > > for line in f: > > lat = float(line) > > > but this gives an error.. does anyone know what i should to do? > > thanks, > > "An error"? > > Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29) > [GCC 4.2.1 (Apple Inc. build 5646)] on darwin > Type "help", "copyright", "credits" or "license" for more information.>>> f = open("test.txt", "r") > >>> for line in f: > > ... print float(line) > ... > 52.2375412 > 5.1802704 > > Always include what the actual error is that you're running into. > > -- > > Stephen Hansen > ... Also: Ixokai > ... Mail: me+list/python (AT) ixokai (DOT) io > ... Blog:http://meh.ixokai.io/ > > signature.asc > < 1KViewDownload sorry :) invalid literal for long() with base 10: '51.9449702' this is the error i'm getting when i use long(line) and this is the error for float(line) invalid literal for float(): not found cheers,
From: Stephen Hansen on 21 Jun 2010 19:18 On 6/21/10 4:03 PM, davidgp wrote: > > sorry :) Okay, I should be more specific: include full tracebacks and some real copied and pasted code :) Don't throw away nice debugging information Python gave you, feed it to us. > invalid literal for long() with base 10: '51.9449702' > this is the error i'm getting when i use long(line) Yes, "51.9449702" is an invalid literal for long. Long produces integers: no decimal points. However: > and this is the error for float(line) > invalid literal for float(): not found Its a perfectly valid literal for float: >>> float('51.9449702') 51.9449702 So if you're getting that error, you're doing something else that you're not telling us. I suspect, somehow (I'd have to see your code to be sure), that your "line" in the second case doesn't have that number. Try it in the interactive interpreter. float('51.9449702') works fine. I suspect your "line", for whatever reason, contains the string "not found", as in: >>> float('not found') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for float(): not found -- Stephen Hansen ... Also: Ixokai ... Mail: me+list/python (AT) ixokai (DOT) io ... Blog: http://meh.ixokai.io/
From: davidgp on 21 Jun 2010 19:26 On Jun 21, 4:18 pm, Stephen Hansen <me+list/pyt...(a)ixokai.io> wrote: > On 6/21/10 4:03 PM, davidgp wrote: > > > > > sorry :) > > Okay, I should be more specific: include full tracebacks and some real > copied and pasted code :) Don't throw away nice debugging information > Python gave you, feed it to us. > > > invalid literal for long() with base 10: '51.9449702' > > this is the error i'm getting when i use long(line) > > Yes, "51.9449702" is an invalid literal for long. Long produces > integers: no decimal points. > > However: > > > and this is the error for float(line) > > invalid literal for float(): not found > > Its a perfectly valid literal for float:>>> float('51.9449702') > > 51.9449702 > > So if you're getting that error, you're doing something else that you're > not telling us. > > I suspect, somehow (I'd have to see your code to be sure), that your > "line" in the second case doesn't have that number. Try it in the > interactive interpreter. float('51.9449702') works fine. I suspect your > "line", for whatever reason, contains the string "not found", as in: > > >>> float('not found') > > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > ValueError: invalid literal for float(): not found > > -- > > Stephen Hansen > ... Also: Ixokai > ... Mail: me+list/python (AT) ixokai (DOT) io > ... Blog:http://meh.ixokai.io/ > > signature.asc > < 1KViewDownload ah, i see :P float("45.34") or whatever does work fine, but the problem is that i'm reading it from a text file. so somehow it is not a real string or whatever.. here's a part of the code: f = open ('/home/david/out.txt', 'r') for line in f: if tel ==6: buf = line.replace('\n', '') lat = float(buf) if tel ==7: buf = line.replace('\n', '') lng = float(buf) basically it goes wrong in the last part where i try to convert the line to a float.. i'm 100% sure that it's getting a number, not a text string cheers!
|
Next
|
Last
Pages: 1 2 Prev: [ANN] python-signalfd 0.1 released Next: Problem using pbzip2 with bz2.BZ2File().read() |