Read Data From txt file using uigetfile...

Hi
I Have to read a file using uigetfile by this code by i face the error...
[filename,pathname,d] = uigetfile('*.txt;');
filepath=fullfile('pathname','filename');
fid = fopen('filepath');
mline1 = textscan(fid, '%f%s%s%f%f%s%s%f%f ','HeaderLines',5);
fclose(fid);
Error:
Error using textscan
Invalid file identifier. Use fopen to generate a valid
file identifier.
By The Way I Already have done it without using uigetfile...
another point is data should be a number not a string cause they are going to plotted... What should i do to convert them???

1 Commento

For the bit about it needing to be a number, we need a sample input line.

Accedi per commentare.

 Risposta accettata

do not put the aote matks around filepath.
fopen(filepath)

9 Commenti

I Need To Use uigetfile... Actually
[filename,pathname,d] = uigetfile('*.txt;');
filepath=fullfile('pathname','filename');
fid = fopen(filepath); %no quotes around filepath
Dear Walter...
the error is for this line :
mline1 = textscan(fid, '%f%s%s%f%f%s%s%f%f ','HeaderLines',5);
and the error's text is again the above one...
[filename,pathname,d] = uigetfile('*.txt;');
filepath=fullfile(pathname, filename); %no quotes around pathname, filename
fid = fopen(filepath); %no quotes around filepath
thanks but the results is shown like:
[10x1 double]
i want them to be a real number cause they have to be added and plotted...
cell2mat does not work when i have %f or %s in the textscan command... such a like this...
mline1_cell= textscan(fid, '%d %d %f %f %f %s %d %*[^\n] ','HeaderLines',5);
cell2mat(mline1)
>> error
????
mline_num = [mline1{[1:5 7]}];
mline_txt = mline1{6};
Thanks Dear Walter And Dear Azzi...

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su App Building in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by