h5py:正确读取 MATLAB 中存储的“表”类的问题 (.mat -7.3)

2024-02-09

我正在尝试使用 h5py 模块在 Python 3.8 中导入 MATLAB (.mat -7.3) 文件。该文件包含一个结构类和table班级。我成功导入了结构类对象。但是,那table导入后类显示错误的尺寸。

    import h5py
    
    Path='data/LUT_0/LUT_0.mat' #path file path to be read
    f = h5py.File(Path, mode='r') #read mat file

    list(f.keys())

结果是:

['#refs#', '#subsystem#', 'LUT_Refl', 'LUT_Var']

LUT_Var 是 。尝试访问数据会导致:

f['LUT_Var'][()]

array([[3707764736,          2,          1,          1,          1,
                 1]], dtype=uint32)

但是,我期待一个大小为:169560x12 的表。当我从 MATLAB 将该表导出为 txt 文件时,我可以在 Python 中导入。我还可以在 MATLAB 中重新导入 .mat 文件,并且没有看到任何数据损坏。有谁知道这里可能缺少什么?

Thanks.


@ThatNewGuy。我可以这样访问 Matlab 文件的内容:

import h5py
import numpy as np
import pandas as pd

f = h5py.File(matloc, 'r') # matloc = path to your .mat
print(list(f))

re = f.get('LUT_Refl/Full')
w = f.get('LUT_Refl/WL')

data = pd.DataFrame(np.array(re)).transpose()  # For converting to a NumPy array
wl = pd.DataFrame(np.array(w))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

h5py:正确读取 MATLAB 中存储的“表”类的问题 (.mat -7.3) 的相关文章

随机推荐