Bonjour à tous,
J'utilise NumPy/SciPy pour créer une structure de données en python, que je souhaite par la suite exploiter sous Matlab.
Je suis parti du principe que un dictionnaire python correspond à une structure matlab. J'ai voulu inclure une liste de dictionnaires (b et c, qui ont tous les mêmes champs : name et value) dans un dictionnaire : a.
Pour l'instant, mon script d'exemple fait celà :
Script Python :Résultat sous Matlab :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 import scipy.io b={'name':'aaa', 'value':3} c={'name':'bbb', 'value':5} a={'field':[b, c]} scipy.io.savemat('saved_struct.mat', a)"field" est une cellule 2x1, je dois faire a.field{1} ou {2} pour accéder aux 2 sous-structures.>> a=load('Z:\...\saved_struct.mat')
a =
field: {2x1 cell}
>> a.field
ans =
[1x1 struct]
[1x1 struct]
Je souhaiterais que ma structure "a" ressemble plutot à ceci :
Structure sous Matlab :"field" n'est plus une cellule, mais une structure à 2 dimensions. J'accède aux 2 sous-structures par : a.field(1) ou (2).b =
name: 'aaa'
value: 3
c =
name: 'bbb'
value: 5
>> a.field=[b,c]
a =
field: [1x2 struct]
>> a.field
ans =
1x2 struct array with fields:
name
value
Comment créer une telle structure en Python ???
J'ai pensé utiliser les "array()" de NumPy mais j'obtiens toujours des cellules 2x1.
Un grand MEEEERCIII d'avance pour votre aide !! Je rame....
Partager