how to save the data of an opened file by uigetfile in the workspace

13 visualizaciones (últimos 30 días)
hello all,
i want to create a window that would be opened by a pushbutton, to open a file (a txt file) and then to load it to the workspace of matlab, i tried this code, it worked correctly but in the end i found nothing in the workspace, it doesn't save the data
filename = uigetfile('*.txt*', 'All Files (*.txt*)');
filename = uiimport(filename);
thank you.

Respuesta aceptada

Geoff Hayes
Geoff Hayes el 21 de Jul. de 2016
imene - rather than re-using the same variable name for the data that is being imported, try
filename = uigetfile('*.txt*', 'All Files (*.txt*)');
data = uiimport(filename);
Now data is a struct that has the data that you have imported..which is in the workspace of your pushbutton callback. Depending upon how you have developed your GUI, you can either save this data to the handles structure (if using GUIDE) or you can save it to a local variable within your parent function that creates the GUI (assuming that you have nested your callback within that parent).
  8 comentarios
imene. B
imene. B el 21 de Jul. de 2016
but how can i do that from within the GUI ? and as shown in the passed comment, i used assignin but it doesn't work too
imene. B
imene. B el 21 de Jul. de 2016
i solved it :)
filename = uigetfile('*.txt*', 'All Files (*.txt*)');
data = load(filename);
(assignin('base','data',data));
the tric is in 'load'
thank you Geoff for your help :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dialog Boxes en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by