【发布时间】:2018-10-29 18:43:36
【问题描述】:
我正在尝试使用 scipy.io 从 MATLAB 5.0 文件中读取一些实验条件。问题是输出文件是一系列复杂得离谱的数组。如何过滤 matlab 文件中的数据?
import scipy.io as sio
with open("sequence_output.txt", "w") as f:
mat = sio.loadmat("seq_data.seq")
f.write(str(mat))
这在输出文件中给了我类似下面的内容。 (实际文件大于 800 行)。
如何从这个文件中挑选出我需要的数据?
{'__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Thu Mar 15 13:50:48 2018', '__version__': '1.0', '__globals__': [], 'StepData': array([[(array([[1]], dtype=uint8), array(['LoadPlate'], dtype='<U9'), array([[1]], dtype=uint8), array([[1]], dtype=uint8), array([[0]], dtype=uint8), array([[0]], dtype=uint8), array([[(array([[12]], dtype=uint8), array([[8]], dtype=uint8), array([[0]], dtype=uint8), array([[1]], dtype=uint8), array([[60]], dtype=uint8), array([[1]], dtype=uint8), array([[1]], dtype=uint8), array([[(array([[1]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[1]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[1]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[1]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[1]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[1]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[1]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[1]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[0]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[0]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[0]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[0]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[0]], dtype=uint8), array([[0]], dtype=uint8)),
(array([[0]], dtype=uint8), array([[0]], dtype=uint8)),
【问题讨论】:
-
潜在有用的数据存在以下格式:
dtype=[('Selected', 'O'), ('Value', 'O')]), array(['13-Mar-2018'], dtype='<U11'), array(['MG2'], dtype='<U3'), array(['15-Mar-2018'], dtype='<U11'), array([[(array(['M2=Kcv-09-03b'], dtype='<U13'), array([], dtype='<U1'), array([[1]], dtype=uint8), array([[8]], dtype=uint8)), (array(['M2=Kcv-09-03&Kir3.4T'], dtype='<U20'), array([], dtype='<U1'), array([[25]], dtype=uint8), array([[38]], dtype=uint8)),
标签: python arrays matlab scipy