我有一个二进制文件,其数据用real*4
写,6个变量18次。
但是,由于Fortran端填充,文件大小为
18 *(4 + 6 * 4 + 4)= 576。
我尝试了几种方法,但无法解决这个问题
1)
sdfdffrom scipy.io import FortranFile
fname='2006.bin'
f = FortranFile(fname, 'r')
print( f.read_reals( dtype='float32' ))
我得到了
Error -only length-1 arrays can be converted to Python scalars
2)这实际上不正确我猜
f = open(fname, 'rb')
recl = np.fromfile(f, dtype='int64', count=1)
f.seek(8)
field = np.fromfile(f, dtype='float32')
print('Record length=',recl)
使用以下Fortran代码
编写数据文件INTEGER,PARAMETER :: r_sngl=kind(0.0e0)
REAL(r_sngl) :: wk(6)
OPEN(90,FILE=obsf,FORM='unformatted',ACCESS='sequential')
WRITE(90) wk
示例wk就像
144 42.856 406.811 -0.2191941E-04 0.1000000E-04 0.3363116E-43