使用python读取HDF4文件 - 多个具有相同名称的数据集

时间:2015-10-07 10:05:16

标签: python hdf

我有一个我需要用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的简单方法?

我查看了VVS模块。我找到了一个示例脚本,它将循环遍历所有组和子组等,并找到所有变量(数据集)。但我现在知道如何将这些变量连接到父级,以便了解他们属于哪个组。

1 个答案:

答案 0 :(得分:0)

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

来自HDF section of their documentation

  

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