MATLAB Answers

0

I want to load multiple text files into variable cell array

Asked by Vinay Killamsetty on 28 Aug 2019
Latest activity Commented on by Vinay Killamsetty on 30 Aug 2019
Accepted Answer by KSSV
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

Sign in to comment.

Products


Release

R2019a

1 Answer

Answer by KSSV
on 29 Aug 2019
 Accepted 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

  2 Comments

Hi
I want to select multiple text files using Uigetfile into call array variable using loop and then read the data from it and store them in different variables
so that I can select required no of files each time and automatically load the file into different cells by running a loop for selected no.of files.
Can you help me how to change the above code.

Sign in to comment.