I want to load multiple text files into variable cell array
3 views (last 30 days)
Show older comments
Vinay Killamsetty
on 28 Aug 2019
Commented: Vinay Killamsetty
on 30 Aug 2019
Hi
I want to load multiple text files into call array variable and then read the data from it and store them in different variables
For one text file I have followed code given below:(The example text file is uploaded)
filename = 'G:\Matlab/PhaseOneLay Lambda0.2.txt';
startRow = 7;
formatSpec = '%19f%32f%f%[^\n\r]';
fileID = fopen(filename,'r');
textscan(fileID, '%[^\n\r]', startRow-1, 'WhiteSpace', '', 'ReturnOnError', false, 'EndOfLine', '\r\n');
dataArray = textscan(fileID, formatSpec, 'Delimiter', '', 'WhiteSpace', '', 'TextType', 'string', 'ReturnOnError', false);
fclose(fileID);
Phase_table_HFSS = table(dataArray{1:end-1}, 'VariableNames', {'W1mil','ang_degSFP12FP12deg','ang_degSFP22FP12deg'});
clearvars filename startRow formatSpec fileID dataArray ans;
Phase_HFSS = table2array(Phase_table_HFSS);
But how can I load more text files and access their data in the similar way
0 Comments
Accepted Answer
KSSV
on 29 Aug 2019
files = dir('*.txt') ;
N = length(files) ;
iwant = cell(N,1) ;
for i = 1:N
filename = files(i).name ;
startRow = 7;
formatSpec = '%19f%32f%f%[^\n\r]';
fileID = fopen(filename,'r');
textscan(fileID, '%[^\n\r]', startRow-1, 'WhiteSpace', '', 'ReturnOnError', false, 'EndOfLine', '\r\n');
dataArray = textscan(fileID, formatSpec, 'Delimiter', '', 'WhiteSpace', '', 'TextType', 'string', 'ReturnOnError', false);
fclose(fileID);
Phase_table_HFSS = table(dataArray{1:end-1}, 'VariableNames', {'W1mil','ang_degSFP12FP12deg','ang_degSFP22FP12deg'});
clearvars filename startRow formatSpec fileID dataArray ans;
Phase_HFSS = table2array(Phase_table_HFSS);
iwant{i} = Phase_HFSS ;
end
More Answers (0)
See Also
Categories
Find more on Data Import and Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!