Tôi có tệp .mat được tạo từ MATLAB 2012b. Nó chứa một biến với lớp matlab do người dùng định nghĩa.Tệp .mat có chứa các lớp matlab trong python
Khi tải các tập tin sử dụng scipy.io.loadmat trong python 3.3, tôi nhận được như sau:
mat=scipy.io.loadmat('D:\test.mat')
mat
{'__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN64, Created on: Fri Feb 22 15:26:28 2013', '__function_workspace__': array([[ 0, 1, 73, ..., 0, 0, 0]], dtype=uint8), '__globals__': [], '__version__': '1.0', 'None': MatlabOpaque([ (b'futureDS', b'MCOS', b'cStream', [[3707764736], [2], [1], [1], [1], [1]])],
dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')])}
tôi tìm cách để truy cập vào "futureDS" đối tượng kiểu "cStream" nhưng dường như không thể làm vì vậy sử dụng mat ['None']. Gọi mat ['None'] kết quả đơn giản trong:
MatlabOpaque([ (b'futureDS', b'MCOS', b'cStream', [[3707764736], [2], [1], [1], [1], [1]])],
dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')])
Tôi bị kẹt ở đây. Tôi mới để python và cố gắng để cổng công việc cũ của tôi từ MATLAB. Bất kỳ trợ giúp sẽ được đánh giá cao.
Cảm ơn bạn.
Là một bản đăng, tôi đã quản lý để đảo ngược kỹ sư rất nhiều định dạng này. [Xem sổ ghi chép IJulia này] (http://nbviewer.ipython.org/gist/mbauman/9121961) để biết chi tiết. –