5

我有一个需要用 python 读取的 HDF4 文件。为此,我使用pyhdf. 在大多数情况下,我很乐意使用SDclass 打开文件:

import pyhdf.SD  as SD
hdf = SD.SD(hdfFile)

然后继续

v1 = hdf.select('Data set 1')
v2 = hdf.select('Data set 2')

但是我在 HDF 文件中有几个组,并且一些变量出现在多个具有相同名称的组中:

In Group 1I have Data set 3and in Group 2I haveData set 3所以我的select命令只会选择其中一个,然后我猜(我不知道是哪一个?)。

有没有一种简单的方法来选择(阅读)Data set 3from Group 1,然后 from Group 2

我看过VandVS模块。我找到了一个示例脚本,它将遍历所有组和子组等并找到所有变量(数据集)。但是我现在知道如何将这些变量连接到父级,因为我知道它们属于哪个组。

4

1 回答 1

0

我认为 pyhdf 可能不是这个特定任务的最佳选择。你看过PyNIO吗?

他们文档的 HDF 部分

PyNIO 具有理解 HDF Vgroup 的只读能力。当遇到属于 Vgroup 的变量时,PyNIO 会在变量名称的末尾附加一个双下划线和组号。这确保了变量将具有唯一的名称,相对于属于其他 Vgroup 的变量。它还为变量提供了两个附加属性:hdf_group,其值为组的 HDF 字符串名称,以及 hdf_group_id,其值与附加在变量名末尾的组号相同。

于 2015-10-08T20:13:05.810 回答