我有一个二进制文件,其中包含有关如何在fortran中读取文件的以下说明:
OPEN (UNIT=UNIT_FILE_TXT, FILE="output/file.txt",
& FORM='UNFORMATTED',
& ACCESS='DIRECT',RECL=400,ERR=100,STATUS='UNKNOWN')
READ (UNIT=UNIT_FILE_TXT, REC= X)
! loop for measurements in file.txt (binary file)
DO I=RECENT, RECEXIT
READ(FILEUNITTXT, REC=I) c1, c2, c3, c4,
& c4, c5, c6, c7, c8, c9
ENDDO
我需要改为使用Python读取文件,但是我不知道是否有可能,因为没有为特定列提供dtype信息(或更具体地说,我从相关文本文件中知道c1是I7,c2是I2,但我仅对某些列具有此信息。
我的问题是:上面的fortran指南中提供的信息足以读取文件,而不必花费时间尝试猜测列类型吗?
例如,我尝试过
arr = np.fromfile(inFile,
np.dtype([('c1','int32'),
('c2','int32'),
...
('cn','float32')]))
但是显然我对类型的猜测是不正确的,因为这些值肯定是残酷的。
任何帮助/提示将不胜感激!