我以前从未使用过HDF5文件,为了开始使用,我收到了一些示例文件。我用h5py
检查了所有的基础知识,查看了这些文件中的不同组,它们的名称、键、值等等。一切正常,直到我想查看保存在组中的数据集。我得到了它们的.shape
和.dtype
,但是当我尝试通过索引访问一个随机值时(例如grp["dset"][0]
),我得到了以下错误:
IOError Traceback (most recent call last)
<ipython-input-45-509cebb66565> in <module>()
1 print geno["matrix"].shape
2 print geno["matrix"].dtype
----> 3 geno["matrix"][0]
/home/sarah/anaconda/lib/python2.7/site-packages/h5py/_hl/dataset.pyc in __getitem__(self, args)
443 mspace = h5s.create_simple(mshape)
444 fspace = selection._id
--> 445 self.id.read(mspace, fspace, arr, mtype)
446
447 # Patch up the output for NumPy
/home/sarah/anaconda/lib/python2.7/site-packages/h5py/h5d.so in h5py.h5d.DatasetID.read (h5py/h5d.c:2782)()
/home/sarah/anaconda/lib/python2.7/site-packages/h5py/_proxy.so in h5py._proxy.dset_rw (h5py/_proxy.c:1709)()
/home/sarah/anaconda/lib/python2.7/site-packages/h5py/_proxy.so in h5py._proxy.H5PY_H5Dread (h5py/_proxy.c:1379)()
IOError: Can't read data (Can't open directory)
我在h5py Google group上发布了这个问题,有人建议在我没有安装的数据集上可能有一个过滤器。但HDF5文件仅使用gzip压缩创建,据我所知,这应该是一个可移植的标准。
有人知道我可能会错过什么吗?我甚至在任何地方都找不到这个错误或类似问题的描述,文件,包括有问题的数据集,都可以用HDFView软件轻松打开。在
编辑
显然,发生此错误是因为,由于某种原因,gzip压缩过滤器在我的系统上不可用。如果我尝试使用gzip压缩创建一个示例文件,则会发生以下情况:
有人有这方面的经验吗?HDF5库和h5py包的安装似乎没有出问题。。。在
我也有类似的问题
我在一个虚拟环境中遇到了这个问题,而在另一个虚拟环境中没有,即使h5py版本显然是相同的(2.6.0)。在
我通过以下方式解决了这个问题:
^{pr2}$我也有同样的问题。我用
import tables
现在一切正常
不能只是评论-声誉太低。在
我也有同样的问题,只需运行“conda update anaconda”,问题就消失了。在
相关问题 更多 >
编程相关推荐