extracting data from a text file to a spreadsheet
    3 views (last 30 days)
  
       Show older comments
    
Hello,
I have *.txt files in different folders as shown below;
Main Dir\Sub A\a1.txt, a2.txt, a3.txt......
Main Dir\Sub B\b1.txt, b2.txt, b3.txt......
Main Dir\Sub C\c1.txt, c2.txt, c3.txt......
Each txt file has the same format and has sevaral parameters. Below are just a few...
param: 600
SN number: 2010
Sim method: Low
I need to get these data to an excel spreasheet in below format;
            param          SN number      Sim method 
  a1      600              2010                      Low 
  a2      700              2011                      High 
  a3      800              2012                      Medium 
  b1      900              2013                      High 
  b2       1000              2014                  Low 
  b3      1100              2015                  Low
Appreciate your assistance.
Thanks
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 23 Jul 2020
        dinfo = dir('Main Dir\*\*.txt');
filenames = fullfile({dinfo.folder}, {dinfo.name});
numfiles = length(filenames);
data = cell(numfiles, 4);
for K = 1 : numfiles
    thisfile = filenames{K};
    [~, basename, ~] = fileparts(thisfile);
    fid = fopen(thisfile);
    datacell = textscan(fid, 'param: %f\nSN number: %f\nSim method: %s',1);
    fclose(fid);
    data{K,1} = basename;
    data{K,2} = datacell{1};
    data{K,3} = datacell{2};
    data{K,4} = datacell{3}{1};
end
datatable = cell2table(data, 'VariableNames', {'file', 'param', 'SN number', 'Sim method'});
writetable(datatable, 'OutputFilename.xslx');
3 Comments
More Answers (0)
See Also
Categories
				Find more on Spreadsheets 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!
