Read in CSV files using GUI

10 views (last 30 days)
T
T on 13 Jan 2013
If I want MATLAB to read in the following file using the GUIDE feature in MATLAB:
Source File:
ID:
C
C
C
C
R
F
L
T
E
Date Time Ch:
03/24/2012 28:43.0 -142.315
03/24/2012 28:43.0 -142.316
03/24/2012 28:43.0 -142.318
and so on,
how can I read the file if the extension is not .csv, say, .pl4?
With a .csv I could use the following but that only assumes if the file .csv which in my case it's not.
fid=fopen('filename.csv');
header = textscan(filenamecsv, '%s',3, 'delimeter' ',','headerLines',16);
data=textscan(filenamecsv, '%s %s %s', 'delimiter', ' ,');
data_to_plot=str2double(data{3});
fclose(filenamecsv);

Accepted Answer

Walter Roberson
Walter Roberson on 13 Jan 2013
fid = fopen('filename.pl4');
header = textscan(fid, '%s', 3, 'headerLines', 16);
data = textscan(fid, '%s %s %f');
data_to_plot = data{3};
fclose(fid);

More Answers (1)

T
T on 13 Jan 2013
But if I create a function:
function openfile_Callback(hObject, eventdata, handles)
[filename,pathname,filterIndex] = ... uigetfile({'*.p4';),['Select the file'],... );
do I still need fid = fopen ?
  14 Comments
T
T on 17 Jan 2013
Edited: T on 17 Jan 2013
suppose it takes 30 seconds? There is the for loop in the documentation for waitbar but it iterates then executes the commands I have after, delaying the processing rather than assessing it.
Walter Roberson
Walter Roberson on 17 Jan 2013
If you know how long it will take, use a timer object to update it, and hope that the innards of textscan() are not built-in functions (timers cannot interrupt built-in functions.)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!