使用h5py模块,我试图简单地从一个h5文件中读取数据,对数据进行一些基本计算,然后将其写回到新的h5文件中。一切都很好,除了尝试写入数据集时。
到目前为止,我有:
f = h5py.File(inData,'r')
dset = f['/DATA/DATA/']
HH = dset[...,0]
HHdB = (10*numpy.log10(HH*HH)) - 83
outfile = h5py.File(outData, 'w')
f.create_dataset('/DATA/DATA/', data=(HHdB))
这向我返回错误:“ ValueError:无法创建数据集(Dataset:无法初始化对象)”,我不理解。
我是新手,所以我们将不胜感激!
f.create_dataset
应该是outfile.create_dataset
,因为f
是File
在读取模式下打开,outfile
而是File
在写入模式下打开。
顺便说一句,如果您h5py.File
在with语句中使用s作为上下文管理器,那么当Python离开with语句时,该文件将自动为您关闭(并写入磁盘)。
import numpy
import h5py
with h5py.File(inData,'r') as f:
dset = f['/DATA/DATA/']
HH = dset[...,0]
HHdB = (10*numpy.log10(HH*HH)) - 83
with h5py.File(outData, 'w') as outfile:
outfile.create_dataset('/DATA/DATA/', data=HHdB)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句