h5py 的问题 - 'Dataset' 对象没有属性 'value'

Problems with h5py - 'Dataset' object has no attribute 'value'

我目前正在尝试从 h5py 文件中读取数据,并且 运行 在尝试切片时遇到问题并将其中的元数据输入到字典中。代码直接取自 NSF Neon tutorials,可以在其中找到整个脚本。

我在这方面的功能上特别有问题;

  #Extract the reflectance & wavelength datasets
    refl = hdf5_file[sitename]['Reflectance']
    reflData = refl['Reflectance_Data']
    reflRaw = refl['Reflectance_Data'].value ##This is causing - Dataset' object has no attribute 'value'
    
   #Create dictionary containing relevant metadata information
    metadata = {}
    metadata['map info'] = refl['Metadata']['Coordinate_System']['Map_Info'].value ##As above
    metadata['wavelength'] = refl['Metadata']['Spectral_Data']['Wavelength'].value 

来看,.value 似乎已被 h5py 的最新版本弃用。 引用 post,而不是;

reflRaw = refl['Reflectance_Data'].value

我试过了

不知道如何进行这里。这些教程是相对较新的,所以我不确定如果在最近的 h5py 版本中已弃用它,它们是如何.value 工作的。

感谢任何帮助

如您链接的答案所示,较新版本的 h5py 的正确语法是将 .value 替换为 [()]。在您的示例中,这样做对我有用。当你说函数 return 是一个空白的 matplotlib 图时,我不确定你的意思,因为它仅意味着 return 2 个数组 - 同样,当我 运行 它时它会.