我有一个我需要用python阅读的HDF4文件。为此我使用pyhdf
。在大多数情况下,我很高兴使用SD
类来打开文件:
import pyhdf.SD as SD
hdf = SD.SD(hdfFile)
然后继续
v1 = hdf.select('Data set 1')
v2 = hdf.select('Data set 2')
但是我在HDF文件中有几个组,并且一些变量出现在多个具有相同名称的组中:
在Group 1
我有Data set 3
而在Group 2
我有Data set 3
所以我的select
命令只会选择其中一个(我不知道)哪一个?)。
是否有一种从Data set 3
然后从Group 1
选择(阅读)Group 2
的简单方法?
我查看了V
和VS
模块。我找到了一个示例脚本,它将循环遍历所有组和子组等,并找到所有变量(数据集)。但我现在知道如何将这些变量连接到父级,以便了解他们属于哪个组。
答案 0 :(得分:0)
我认为pyhdf可能不是这项特殊任务的最佳选择。你看过PyNIO吗?
来自HDF section of their documentation:
PyNIO具有理解HDF Vgroup的只读功能。当遇到属于Vgroup的变量时,PyNIO会将双下划线和组编号附加到变量名称的末尾。这确保变量将具有相对于属于其他Vgroup的变量的唯一名称。它还为变量提供了两个附加属性:hdf_group,其值是组的HDF字符串名称,以及hdf_group_id,其值与附加到变量名称末尾的组编号相同。