问题描述
所以,我正尝试在具有s3fs的Sage Maker笔记本中以h5py加载HDF5数据。
这或多或少是我的代码
s3 = s3fs.S3FileSystem()
#getting all files
files = s3.ls('s3://sagemake...')
def analyze_index(idx):
with h5py.File(s3.open(files[1],"rb"),'r+',ib_version='latest') as f:
print(f.keys())
analyze_index(1)
我得到这个作为输出,没有键,并且当f在with
范围之外时似乎发生了错误:
<KeysViewHDF5 []>
UnsupportedOperation Traceback (most recent call last)
h5py/h5fd.pyx in h5py.h5fd.H5FD_fileobj_truncate()
UnsupportedOperation: truncate
当我在本地计算机上运行该程序并加载存储在本地的相同日期集时,我会得到一个密钥列表,这使我相信s3fs和h5py协同工作的方式存在一些问题。根据研究,这似乎是here发现的错误的转世,在该错误中,用户无法找到“寻找”,这是他们期望找到的关键。他们使用r
而不是r+
,但是当我这样做时,文件无法完全加载。引用此错误:
TypeError: an integer is required
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)