解决Python 使用h5py加载文件,看不到keys()的问题

yipeiwu_com5年前Python基础

python 3.x 环境下,使用h5py加载HDF5文件,查看keys,如下:

>>> import h5py
>>> f = h5py.File("a.h5",'r')
>>> f.keys()

结果看不到keys:

KeysView(<HDF5 file "a.h5" (mode r)>)

原因主要是 python2.x 和 python3.x对keys方法的返回处理不同。

官方说明如下:

When using h5py from Python 3, the keys(), values() and items() methods will return view-like objects instead of lists. These objects support containership testing and iteration, but can't be sliced like lists.

可见 python2 返回为list,python3 返回为view-like objects,不能直接查看。

解决方法如下:

1) 换成 python2.x 环境进行相同操作。

2) 采用如下代码:

>>> [key for key in f.keys()]

参考资料:

https://stackoverflow.com/questions/31037088/discovering-keys-using-h5py-in-python3

以上这篇解决Python 使用h5py加载文件,看不到keys()的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现日常记账本小程序

python实现收支的自动计算,能够查询每笔账款的消费详情,具体内容如下 1、函数需要两个文件:一个类似钱包功能,存放钱;另一个用于记录每笔花销的用途 #!/usr/bin/env...

零基础使用Python读写处理Excel表格的方法

零基础使用Python读写处理Excel表格的方法

引 由于需要解决大批量Excel处理的事情,与其手工操作还不如写个简单的代码来处理,大致选了一下感觉还是Python最容易操作。 安装库Python环境 首先当然是配环境,不过选Pyth...

基于python requests库中的代理实例讲解

直接上代码: #request代理(proxy) """ 1.启动代理服务器Heroku,相当于aliyun 2.在主机1080端口启动Socks 服务 3.将请求转发到1080端口...

用pandas按列合并两个文件的实例

用pandas按列合并两个文件的实例

直接上图,图文并茂,相信你很快就知道要干什么。 A文件: B文件: 可以发现,A文件中“汉字井号”这一列和B文件中“WELL”这一列的属性相同,以这一列为主键,把B文件中“TIME”...

Python内置random模块生成随机数的方法

本文我们详细地介绍下两个模块关于生成随机序列的其他使用方法。 随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等。Pytho...