matlab日期字符串在python scipy.io中生成java lang字符串
-
我在Matlab中有一个
类型的字段。 它的价值是13:06:40
-
当我在python中读取这个mat文件时,它被转换为
MatlabOpaque([ ('', 'java', 'java.lang.String', [[172, 237, 0, 5, 116, 0, 8, 49, 50, 58, 48, 49, 58, 53, 49]])], dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')])
- 我使用scipy.io将其保存回MAT文件,并且我有一个结构,上面有dtype而不是
我可以用python检索时间戳并将其保存为java.lang.String对象吗?
在python中访问包含matlab类的.mat文件
询问一个带有类似loadmat
显示的MATLAB类对象:
MatlabOpaque([ (b'futureDS', b'MCOS', b'cStream', [[3707764736], ...])], dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')])
Python中没有任何东西可以解码这种MATLAB或Java对象。 如果你需要在MATLAB和scipy stick之间来回发送数据与基本的MATLAB数组,单元格和结构。
您可以尝试解析该数字列表。 由于它们都是<256,它们可能代表字节。 你不能把它转换成普通的MATLAB字符串吗?
In [117]: x=[172, 237, 0, 5, 116, 0, 8, 49, 50, 58, 48, 49, 58, 53, 49] In [118]: np.array(x,np.uint8).tostring() Out[118]: b'\xac\xed\x00\x05t\x00\x0812:01:51'
最后8个字符看起来像时间戳。 但是你对java.lang.String
对象有什么了解吗?