convert scientific integer to normal integer
russblau at hotmail.com
Tue Oct 5 18:14:16 CEST 2004
"wes weston" <wweston at att.net> wrote in message
news:yDz8d.667038$Gx4.100104 at bgtnsc04-news.ops.worldnet.att.net...
> les ander wrote:
> > Hi,
> > i have a file with lines like this:
> > 1.7000000e+01 2.4000000e+01 1.0000000e+00 8.0000000e+00
> > 2.3000000e+01 5.0000000e+00 7.0000000e+00 1.4000000e+01
> > 4.0000000e+00 6.0000000e+00 1.3000000e+01 2.0000000e+01
> > 1.0000000e+01 1.2000000e+01 1.9000000e+01 2.1000000e+01
> > 1.1000000e+01 1.8000000e+01 2.5000000e+01 2.0000000e+00
> > Notice that they are all integers.
> > What I want to do is write them out in a regular way, by which I mean
> > output should look like this:
> > 17 24 1 9 15
> > 23 5 7 14 16
> > etc
> > I tried the following but it did not work:
> > fp=open(argv)
> > for x in fp:
> > xc=[int(e) for e in x.split()]
> > print " ".join(xc)
> > any help would be much appreciated
> >>> x=eval('1.7000000e+01')
> >>> x
Erm, yes, but there is almost always a better way than eval().
Note the following:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in -toplevel-
ValueError: invalid literal for int(): 1.700000e+01
This should be enough to allow you to parse your values, assuming you are
really sure that they are always going to be integers.
I don't actually read my hotmail account, but you can replace hotmail with
excite if you really want to reach me.
More information about the Python-list