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())

Es correcto?

Saludos

Rolando


El 14 de marzo de 2017, 2:23, Daπid <davidmen...@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.
> float32)
> 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.14...@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@python.org
> https://mail.python.org/mailman/listinfo/python-es
>

Attachment: pocobe4_r19_v18_r20.dat.tar.gz
Description: GNU Zip compressed data

_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a