3

我有一个 matlab 数组 > 2GB ...我想使用 h5py 读取它。数据是一个简单的 3D 双精度数组。但我根本无法在互联网上找到线索。

有人能帮我吗 ?我只需要一个例子,它是如何完成的。h5py 文档帮不了我。

4

2 回答 2

3

这个问题之前已经回答过,但指的是.mat文件。正如@vikrantt 所说-我正在复制他的示例代码,- Matlab 的最新版本保存为 HDF5 格式,您可以:

import numpy as np, h5py 
f = h5py.File('somefile.mat','r') 
data = f.get('data/variable1') # Get a certain dataset
data = np.array(data)

请注意,这在h5py自己的关于它的高级 API的文档中有所介绍。我建议阅读Group Objects以更好地了解如何从文件中提取信息,然后阅读Numpy Compatibility

于 2014-01-31T13:25:36.213 回答
3

使用字典语法的替代方法:

import h5py
f = h5py.File('somefile.mat','r')
myvar = f['myvar'].value

要加载所有值,请查看: https ://stackoverflow.com/a/29856030/1615523

于 2016-10-08T20:17:50.870 回答