首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中读取HDF5文件

如何在Python中读取HDF5文件
EN

Stack Overflow用户
提问于 2015-01-27 20:32:57
回答 8查看 294.2K关注 0票数 101

我正在尝试用Python从hdf5文件中读取数据。我可以使用h5py读取hdf5文件,但是我不知道如何访问文件中的数据。

我的代码

代码语言:javascript
复制
import h5py    
import numpy as np    
f1 = h5py.File(file_name,'r+')    

这将起作用,文件将被读取。但是如何访问文件对象f1中的数据呢?

EN

回答 8

Stack Overflow用户

发布于 2015-01-27 20:38:53

你可以使用Pandas。

代码语言:javascript
复制
import pandas as pd
pd.read_hdf(filename,key)
票数 19
EN

Stack Overflow用户

发布于 2019-04-11 11:59:33

下面是我刚刚编写的一个简单函数,它读取由keras中的save_weights函数生成的.hdf5文件,并返回一个带有层名称和权重的dict:

代码语言:javascript
复制
def read_hdf5(path):

    weights = {}

    keys = []
    with h5py.File(path, 'r') as f: # open file
        f.visit(keys.append) # append all keys to list
        for key in keys:
            if ':' in key: # contains data if ':' in key
                print(f[key].name)
                weights[f[key].name] = f[key].value
    return weights

https://gist.github.com/Attila94/fb917e03b04035f3737cc8860d9e9f9b

我还没有彻底测试过它,但我已经完成了工作。

票数 9
EN

Stack Overflow用户

发布于 2018-10-16 02:39:49

使用以下代码读取数据并将其转换为numpy数组

代码语言:javascript
复制
import h5py
f1 = h5py.File('data_1.h5', 'r')
list(f1.keys())
X1 = f1['x']
y1=f1['y']
df1= np.array(X1.value)
dfy1= np.array(y1.value)
print (df1.shape)
print (dfy1.shape)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28170623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档