Hi,

Do you mind sharing a little bit of information regarding your setup, such
as Spyder version and OS? That helps us to understand what is happening on
your end since Spyder has seen a lot of changes the last few months.

The importing of Matlab variables is done in spyderlib/utils/iofuncs.py.
You can browse through the current version
here<https://bitbucket.org/spyder-ide/spyderlib/src/2d6ef53e0cfcda5c79721ac4de3a6500c5f28c50/spyderlib/utils/iofuncs.py?at=default>,
or look at the version from Stevens branch
here<https://bitbucket.org/blink1073/spyderlib/src/d90a3f72e4f6798454fb3b7235d5533206186744/spyderlib/utils/iofuncs.py?at=variable-explorer-drag-n-drop>(there
is pull request on that
here<https://bitbucket.org/spyder-ide/spyderlib/pull-request/4/improved-drag-and-drop-behavior-in-editor/diff>).
The latter holds certain improvements that have not yet been merged with
the main Spyder development branch.

A small example (taken from iofuncs.py from Stevens branch) on how you
could import Matlab variables using a script:

from spyderlib.utils.iofuncs import get_matlab_valueimport scipy.io as spio

out = spio.loadmat(filename)for key, value in list(out.items()):
    out[key] = get_matlab_value(value)# now you can access the
variable(s) you saved in the matlab file as follows
matlab_var = out['matlab_var_name']# all matlab variables are nested
under matlab_var and are accessible as a dictionaries

Unfortunately there isn't yet an easy one-stop function to import a Matlab
.mat file with exactly the same behaviour as in Matlab. As it currently
stands now, a users is required to "browse" a bit through the output of
spio.loadmat, and that can be a bit cumbersome. The MatlabStruct class in
iofuncs.py from Steven improves the situation over the default
scipy.io.loadmat behaviour.

Regards,
David


On 16 January 2014 13:48, egayer <[email protected]> wrote:

> Hi,
>
> I am wondering how spider manages to import .mat file directly into the
> variable explorer (by double clicking on the .mat file) while the content
> of a .mat file is nested when using scipy.io.loadmat
>
> for example to load a mat file 'dummy.mat' that contains 2 matrix A and B :
>
> 1) I double click on the file from the spider file explorer and A and B
> will be added in the variable explorer
>
> 2) using scipy.io I do:
>
>  x=scipy.io.loadmat('dummy.mat')
>
> and A and B are nested into x
>
> thanks for your help
> Eric
>
> --
> You received this message because you are subscribed to the Google Groups
> "spyder" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/spyderlib.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"spyder" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/spyderlib.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to