Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

convert string into int()

Tags:

python

string

int

I have a dataset that looks like this:

0 _ _ 23.0186E-03  
10 _ _51.283E-03  
20 _ _125.573E-03

where the numbers are lined up line by line (the underscores represent spaces).

The numbers in the right hand column are currently part of the line's string. I am trying to convert the numbers on the right into numerical values (0.0230186 etc). I can convert them with int() once they are in a simple numerical form, but I need to change the "E"s to get there. If you know how to change it for any value of E such as E-01, E-22 it would be very helpful.

Currently my code looks like so:

fin = open( 'stringtest1.txt', "r" )  
fout = open("stringtest2.txt", "w")

while 1:  
    x=fin.readline()

    a=x[5:-1]  
    ##conversion code should go here

    if not x:
        break

    fin.close()  
    fout.close()
like image 743
austinco Avatar asked Nov 17 '25 14:11

austinco


1 Answers

I would suggest the following for the conversion:

float(x.split()[-1])

str.split() will split on white space when no arguments are provided, and float() will convert the string into a number, for example:

>>> '20  125.573E-03'.split()
['20', '125.573E-03']
>>> float('20  125.573E-03'.split()[-1])
0.12557299999999999
like image 167
Andrew Clark Avatar answered Nov 20 '25 04:11

Andrew Clark



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!