I have a few files that contains data in IEEE 754 format. I need to transform them into a csv file, to be able to read these files in another program. Each file has 30000 samples of I and Q. I did develop the attached script. I am sure not the best, but it worked at home on my Linux installation Python 2.4. I was then very confident that it would work also on my work pc (XP with python 2.3). It does not, I get the following error
Traceback (most recent call last):
File "C:\Python23\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
exec codeObject in __main__.__dict__
File "E:\OFDMA_test\iqw.py", line 16, in ?
x[i/4]=unpack('f',a[i:i+4])[0]
error: unpack str size does not match format
apparently the XP box thinks the file is alot shorter, and that can't be as it is the same file from the same media (USB stick). What is going wrong here?
/Johan
import os
from struct import *
from scipy import *
f=file("c:\\tmp\\FSL_good_SNR\\Last_IQ.iqw",'r')
a=f.read()
f.close()
x=zeros(len(a)/4)+0.0
for i in range (0, len(a),4):
x[i/4]=unpack('f',a[i:i+4])[0]
y=x[0:len(x)/2-1]+1j*x[len(x)/2:len(x)-1]
writer = file("c:\\tmp\\FSL_good_SNR\\IQ.csv", 'w')
for item in y:
writer.write (repr(real(item))+','+repr(imag(item))+'\n')
writer.close()
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor