我有相当大的数据集。存储在hdf5格式文件中的所有信息。我找到了python的h5py library。所有工作正常,除了
[<HDF5 object reference>]
我不知道如何把它转换成更可读的东西。我能做吗?因为这个问题的文档对我来说有点难。 也许除了Python之外,还有其他一些不同语言的解决方案。我非常感谢你的帮助。
理想情况下应该是链接到文件。
这是我代码的一部分:
import numpy as np
import h5py
import time
f = h5py.File('myfile1.mat','r')
#print f.keys()
test = f['db/path']
st = test[3]
print( st )
st
输出是[<HDF5 object reference>]
test
输出是<HDF5 dataset "path": shape (73583, 1), type "|O8">
相反,我希望[<HDF5 object reference>]
像这样的:/home/directory/file1.jpg
。如果有可能的话。
解决方案
从
HDF5
派生类并覆盖__repr__
方法。解释
当您打印解释器提供给您的对象时,默认情况下会调用该对象上的函数
__repr__
,该函数返回实例的类名和内存位置。在您的例子中,您有一个列表,其中只有一个
HDF5
对象实例。相当于:现在,您可以通过重写此类的
__repr__
函数来更改对象的打印方式。注意:您也可以覆盖
__str__
,有关详细信息,请参见Difference between str and repr in Python。我的朋友回答了我的问题,我明白这是多么容易。但我花了4个多小时解决我的小问题。解决办法是:
如果没有准确地说明我的问题,我很抱歉。但这是我试图找到的解决办法。
您可以为此类定义自己的^{} 或^{} 方法,或者创建一个简单的包装器,该包装器使用您希望看到的信息格式化字符串。在快速浏览文档的基础上,您可以执行以下操作
相关问题 更多 >
编程相关推荐