[Python-es] Cambio de enteros a flotantes

Kiko kikocorreoso en gmail.com
Mar Mar 14 10:06:06 EDT 2017


El 14 de marzo de 2017, 14:41, Rolando Paz <flxpaz en gmail.com> escribió:

> Gracias Miguel y David.
>
> David, mi archivo se llama pocobe4_r19_v18_r20.dat (se encuentra adjunto),
> y según tu consejo, hice esto:
>
> #!/usr/bin/env python
>
> import numpy as np
>
> data = open("pocobe4_r19_v18_r20.dat", "rb").read()
> array = np.fromstring("data", dtype=np.int32).astype(np.float32)
> with open("prueba_out", "wb") as prueba_out:
>     prueba_out.write(array.tostring())
>

Échale un ojo a las funciones np.loadtxt o np.genfromtxt para leer (puedes
definir el dtype ahí) y np.savetxt para guardar la información en un
fichero.


>
> Es correcto?
>
> Saludos
>
> Rolando
>
>
> El 14 de marzo de 2017, 2:23, Daπid <davidmenhur en gmail.com> escribió:
>
>> > Me pueden sugerir alguna forma de cambiar un archivo binario de 32 bits
>> enteros a un archivo binario de 32 bits flotantes?
>>
>> Yo usaría Numpy, si te puedes permitir la dependencia.
>>
>> array = np.fromstring(open(f_in).read(), dtype=np.int32).astype(np.floa
>> t32)
>> with open(f_out, 'wb') as f_out:
>>    f_out.write(array.tostring())
>>
>> 2017-03-14 2:02 GMT+01:00 Miguel de Dios Matias <tres.14159 en gmail.com>:
>> > Así a voz de pronto vas a perder precisión porque creo que solo
>> > tendrías 6 dígitos y el resto exponente frente a un entero que
>> > tendrías mas o menos 9 dígitos.
>>
>> Sólo a partir de 8388607
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20170314/63ab6d1f/attachment.html>


Más información sobre la lista de distribución Python-es