[Numpy-discussion] Re ading scientific notation using D instead of E
Dag Sverre Seljebotn
dagss at student.matnat.uio.no
Fri Feb 12 11:08:28 EST 2010
josef.pktd at gmail.com wrote:
> On Fri, Feb 12, 2010 at 11:03 AM, <josef.pktd at gmail.com> wrote:
>
>> On Fri, Feb 12, 2010 at 10:46 AM, Robert C. <ricitron at mac.com> wrote:
>>
>>> I am trying to read a large amount of data that is output in scientific
>>> notation using D instead of E. After searching around I found a thread that
>>> implied numpy already has the capability to do this:
>>> http://stackoverflow.com/questions/1959210/python-scientific-notation-using-d-instead-of-e
>>> http://stackoverflow.com/questions/1959210/python-scientific-notation-using-d-instead-of-e
>>>
>>> However, this does not work for me. I get:
>>>
>>>
>>>>>> numpy.float('1.23D+04')
>>>>>>
>>> Traceback (most recent call last):
>>> File "<stdin>", line 1, in <module>
>>> ValueError: invalid literal for float(): 1.23D+04
>>>
>>> Was this capability lost in more recent versions of numpy?
>>>
>>> I would rather not have to do a search and replace every time I read in
>>> data.
>>>
>>>>> np.float('1.5698D+03')
>>>>>
>> 1569.8
>>
>>>>> np.float('1.23D+04')
>>>>>
>> 12300.0
>>
>> it's still working with numpy 1.4.0
>>
>
> maybe this is a python feature with python builtin float:
>
>
>>>> float('1.5698D+03')
>>>>
> 1569.8
>
>>>> float('123D+04')
>>>>
> 1230000.0
>
> with python 2.5
>
With Python 2.6, I get "Invalid literal for float".
Dag Sverre
More information about the NumPy-Discussion
mailing list