【发布时间】:2019-05-23 13:03:56
【问题描述】:
我有一堆从 matlab R2018b 9.5 版生成的 Matlab 结构。该结构包含 3 个字段:
- 双倍大小的矩阵:6942x6092
- 双倍大小的矩阵:6942x1
- 单元格大小矩阵:1x6092(单元格内容为字符串)
我想找到一种方法来加载这个结构并访问 python 3.7 中的三个不同元素。我尝试了很多方法,但我从未设法加载结构并能够访问结构的 3 个元素。在matlab中重现结构:
struct.values = ones(6942,6092);
struct.dates = ones(6942,1);
struct.id = cell(1,6092);
struct.id(:) = {'x1'};
save('struct','struct');
然后将其保存为 .mat 文件。
【问题讨论】:
-
您是在问如何在 python 中加载 .mat 文件吗?请参阅
h5py和 this answer。 -
不幸的是,答案在这种情况下确实有效。我收到错误:“无法打开文件(未找到文件签名)”。我可以加载简单的矩阵,但如果你仔细阅读我的问题,我说的是 matlab 结构。所以是的,它是一个 .mat 文件,但包含一个结构。
标签: python matlab type-conversion structure compatibility