MATLAB: I want to load multiple text files into variable cell array

cell arraysload dataMATLAB

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

Best Answer

  • 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