import tables from Matlab struct to matrices in python
61 次查看(过去 30 天)
显示 更早的评论
I want to import tables from a struct in matlab and to store them in python as matrices.
this is the python code I tried
import scipy.io
import numpy as np
# Load the .mat file
data = scipy.io.loadmat('file.mat')
# Access the struct within the loaded data
my_struct = data['structkey']
# Convert each table to a matrix
table1_matrix = my_struct['table1'][0, 0]['arr']
print(table1_matrix)
this is whatwas printed:
[array([[3707764736],
[ 2],
[ 1],
[ 1],
[ 1],
[ 1]], dtype=uint32)]
I can't understand what is printed and don't know what to do to get the table stored in the struct as matrice in python
0 个评论
回答(1 个)
ProblemSolver
2023-7-5
You need to careful about the datatype that you are working with.
I assume you are working with uint32, which is an unsigned 32-bit integer. Therefore, you have convert the data structure of the table:
table1_matrix = np.array(my_struct['table1'][0, 0]['arr'], dtype=np.float64)
I hope this helps!
4 个评论
ProblemSolver
2023-7-5
编辑:ProblemSolver
2023-7-5
Try using this then:
import scipy.io
data = scipy.io.loadmat('file.mat');
temperature1 = data['your_field_temperature'] % replace 'm' with the field name that you have such as temperature_r..., the complete name
. % create each variable name
. % another variable and so on
print(temperature1)
This is the output I get.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Call Python from MATLAB 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!