【发布时间】:2012-08-10 21:41:48
【问题描述】:
我有一个使用
访问的 mat 文件from scipy import io
mat = io.loadmat('example.mat')
从 matlab 中,example.mat 包含以下结构
>> load example.mat
>> data1
data1 =
LAT: [53x1 double]
LON: [53x1 double]
TIME: [53x1 double]
units: {3x1 cell}
>> data2
data2 =
LAT: [100x1 double]
LON: [100x1 double]
TIME: [100x1 double]
units: {3x1 cell}
在 matlab 中,我可以像 data2.LON 等一样简单地访问数据。这在 python 中并不简单。它给了我几个选择,虽然像
mat.clear mat.get mat.iteritems mat.keys mat.setdefault mat.viewitems
mat.copy mat.has_key mat.iterkeys mat.pop mat.update mat.viewkeys
mat.fromkeys mat.items mat.itervalues mat.popitem mat.values mat.viewvalues
是否可以在 python 中保留相同的结构?如果没有,如何最好地访问数据?我正在使用的当前 python 代码很难使用。
谢谢
【问题讨论】:
-
你能解释一下当你把它加载到python中时它是什么样子的吗?
-
另外,另一个想法。如果您使用的是 SciPi,您是否尝试过使用
SciPi.loadmat? -
是的,我试过 loadmat。 python中的输出很难使用。我什至不知道如何在 data1 或 data2 中访问 LON 或 LAT。
-
@mikeP -- 我猜它可能只是
data1['LAT'](python) 而不是data1.LAT(matlab)。 -
如果您仍然有问题(并且不介意/可以分享),请随意传递一个示例 .mat 文件,我下班回家后会使用它。
标签: python matlab structure mat-file preserve