如何使用numpy从二进制文件中读取特定字段?

2024-05-16 03:30:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个正在读取的二进制文件,其中包含一个数据类型的数组:

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元素的整个数组:

^{pr2}$

如何从二进制文件中只读id字段并跳过其他字段?在


Tags: 文件方法idnpdt二进制数组数据类型
1条回答
网友
1楼 · 发布于 2024-05-16 03:30:26

我没有用过fromfile,但我怀疑是否可以读取所选字段。显然,它使用dtype来确定元素的布局和间距。在genfromtxt中没有类似usecols的参数来读取选定的字段或列。没办法说,读8个字节,然后跳过后面的6*4个字节。在

只需阅读全部内容并选择所需字段。无论如何,它都得把整个文件都读一遍。在

相关问题 更多 >