我正在阅读的二进制文件包含一个数据类型数组:
dt_particles = np.dtype([('id', np.int64), \
('x', np.float32), \
('y', np.float32), \
('z', np.float32), \
('vx', np.float32), \
('vy', np.float32), \
('vz', np.float32)])
我可以使用:
读取整个dt_particles
元素数组
numpy.rec.fromfile(FILE_OBJ, dtype=dt_particles, shape=NUM_ELEMENTS)
如何从二进制文件中只读取id
字段并跳过其他字段?
答案 0 :(得分:0)
我还没有使用fromfile
,但我怀疑是否可以阅读所选字段。显然,它使用dtype
来确定元素的布局和间距。 usecols
中没有像genfromtxt
这样的参数来读取所选字段或列。并且没有办法说,读取8个字节,并跳过下一个6 * 4字节。
只需阅读整个内容并选择所需的字段即可。无论如何,它必须阅读整个文件。