【问题标题】:How to read matlab array in python using h5py如何使用h5py在python中读取matlab数组
【发布时间】:2016-10-09 04:17:50
【问题描述】:

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

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

【问题讨论】:

  • 有人回答here(见第二个回答)
  • 但这对我不起作用:将数据结果打印到“无”
  • 好的,知道了。我没有使用选项'r'并且什么都没有覆盖文件:S 现在它可以工作了!谢谢!
  • 无论如何我都会回答,因为另一个问题指定了“.mat”文件

标签: python h5py


【解决方案1】:

这个问题之前已经回答过,但参考.mat 文件。正如@vikrantt 所说的here - 我正在复制他的示例代码,- 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 自己的文档high level API 中有介绍。我建议阅读 Group Objects 以更好地了解如何从文件中提取信息,然后阅读 Numpy 兼容性

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-07-03
      • 1970-01-01
      • 2017-04-23
      • 2021-02-23
      • 2019-07-06
      • 2021-05-14
      • 1970-01-01
      • 2015-02-24
      • 1970-01-01
      相关资源
      最近更新 更多