我有一个需要用 python 读取的 HDF4 文件。为此,我使用pyhdf. 在大多数情况下,我很乐意使用SDclass 打开文件:
import pyhdf.SD as SD
hdf = SD.SD(hdfFile)
Run Code Online (Sandbox Code Playgroud)
然后继续
v1 = hdf.select('Data set 1')
v2 = hdf.select('Data set 2')
Run Code Online (Sandbox Code Playgroud)
但是我在 HDF 文件中有几个组,并且一些变量出现在多个具有相同名称的组中:
In Group 1I haveData set 3和 in Group 2I haveData set 3所以我的select命令只会选择其中一个我猜(我不知道是哪一个?)。
有没有一种简单的方法来选择(阅读)Data set 3fromGroup 1和 from Group 2?
我查看了V和VS模块。我找到了一个示例脚本,它将遍历所有组和子组等,并找到所有变量(数据集)。但是我现在知道如何将这些变量连接到父级,至于我知道它们属于哪个组。
我认为 pyhdf 可能不是这个特定任务的最佳选择。你看过PyNIO吗?
来自其文档的 HDF 部分:
PyNIO 具有理解 HDF Vgroup 的只读能力。当遇到属于 Vgroup 的变量时,PyNIO 会在变量名称的末尾附加双下划线和组号。这确保了该变量相对于属于其他 Vgroup 的变量具有唯一的名称。它还为变量提供了两个附加属性:hdf_group(其值是组的 HDF 字符串名称)和 hdf_group_id(其值与附加到变量名称末尾的组编号相同)。
| 归档时间: |
|
| 查看次数: |
3140 次 |
| 最近记录: |