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
我试过了
reflRaw = refl['Reflectance_Data'][:]
为此 Python 指责我'标量的非法切片参数
数据空间'
reflRaw = refl['Reflectance_Data'][()]
这只是挂起 30 秒,然后最终显示空白
matplotlib 图
不知道如何进行这里。这些教程是相对较新的,所以我不确定如果在最近的 h5py 版本中已弃用它,它们是如何.value
工作的。
感谢任何帮助
如您链接的答案所示,较新版本的 h5py 的正确语法是将 .value
替换为 [()]
。在您的示例中,这样做对我有用。当你说函数 return 是一个空白的 matplotlib 图时,我不确定你的意思,因为它仅意味着 return 2 个数组 - 同样,当我 运行 它时它会.
我目前正在尝试从 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
我试过了
reflRaw = refl['Reflectance_Data'][:]
为此 Python 指责我'标量的非法切片参数 数据空间'
reflRaw = refl['Reflectance_Data'][()]
这只是挂起 30 秒,然后最终显示空白 matplotlib 图
不知道如何进行这里。这些教程是相对较新的,所以我不确定如果在最近的 h5py 版本中已弃用它,它们是如何.value
工作的。
感谢任何帮助
如您链接的答案所示,较新版本的 h5py 的正确语法是将 .value
替换为 [()]
。在您的示例中,这样做对我有用。当你说函数 return 是一个空白的 matplotlib 图时,我不确定你的意思,因为它仅意味着 return 2 个数组 - 同样,当我 运行 它时它会.