How to read a txt file with values and strings?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Each time I run a scenario, my script opens a file called changing.txt and adds a line with the important parameters and the filename for future statistical analysis. I want to open the file and have a variable for each column in the txt file. I will then look for duplicate scenario names and only analyze unique data for the statistical analysis. How do I do this?
%create a similar file to the one I'm working with
fileID=fopen('changing.txt','w');
fmt='%8.1f %8.4f %8.1f %8.1f %s\r\n';%format for fprint
fclose (fileID);
%write a few lines with duplicates
fileID=fopen('changing.txt','a');
fprintf(fileID,fmt, [ 1 2 3 4 'text.txt']);%write these values at the end of the file
fprintf(fileID,fmt, [ 4 3 2 1 'text2.txt']);%write these values at the end of the file
fprintf(fileID,fmt, [ 1 2 3 4 'text.txt']);%write these values at the end of the file
fprintf(fileID,fmt, [ 4 3 2 1 'text2.txt']);%write these values at the end of the file
fclose (fileID);
%
%open the file; one variable for each column in the text file
A = fscanf('changing.txt','%8.1f %8.4f %8.1f %8.1f %s\r\n') %(HELP HERE PLEASE)
0 Kommentare
Akzeptierte Antwort
per isakson
am 18 Mär. 2017
Replace
A = fscanf('changing.txt','%8.1f %8.4f %8.1f %8.1f %s\r\n');
by
fid = fopen( 'changing.txt', 'r' );
cac = textscan( fid, '%f%f%f%f%s', 'Collectoutput',true );
[~] = fclose( fid );
where changing.txt contains
1 2 3 4 text.txt
4 3 2 1 text2.txt
1 2 3 4 text.txt
4 3 2 1 text2.txt
check output
>> cac{1}
ans =
1 2 3 4
4 3 2 1
1 2 3 4
4 3 2 1
>> cac{2}
ans =
'text.txt'
'text2.txt'
'text.txt'
'text2.txt'
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Tables finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!