Load in multiple text files and store data in a matrix
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Benjamin Cowen
am 16 Aug. 2018
Bearbeitet: Walter Roberson
am 5 Dez. 2018
I have 28 text files, of this pattern:
out.200.data
out.225.data
up to
out.900.data
How can I populate the 3rd row into a matrix? Note that there are 3 columns in the 3rd row. I also have a path to my files, but for purposes here, let's just say the path is just C:/Path
Is there a way to create a single matrix with these values?
Row 1 of the matrix is the 3rd row of out.200.data
Row 2 of the matrix is the 3rd row of out.225.data
etc?
2 Kommentare
Akzeptierte Antwort
Walter Roberson
am 17 Aug. 2018
for information on looping over files.
For any one file, I suggest something like
filename = fullfile(projectdirectory, dinfo(K).name);
fid = fopen(filename, 'rt');
row3(K,:) = cell2mat( textscan(fid, '%f%f%f', 1, 'headerlines', 2, 'collectoutput', true) );
fclose(fid)
4 Kommentare
Walter Roberson
am 17 Aug. 2018
Bearbeitet: Walter Roberson
am 5 Dez. 2018
clear
%let us refrain from blowing up the bridge we are standing on, like Wile E. Coyote
%<<https://cdn-images-1.medium.com/max/1338/1*8oK7yw-tYvP14l_Ya3Nvcg.png>>
%clear all
clc
Row_to_extract = 51;
projectdirectory = 'C:/Path/';
dinfo = dir( fullfile(projectdirectory, 'msd.*.data') );
N = length(dinfo);
row = zeros(N, 2);
for K = 1 : N
filename = fullfile(projectdirectory, dinfo(K).name);
fid = fopen(filename, 'rt');
row(K,:) = cell2mat( textscan(fid, '%f%f', 1, 'headerlines', Row_to_extract - 1, 'collectoutput', true) );
fclose(fid);
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Text Data Preparation 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!