Multiple Text files to Labeled matrix/array

2 views (last 30 days)
Hi all,
I have multiple .txt files that I want to put into an array. The data is scrambled in the file with other objects, but the general format looks like this:
RA 5
Rz 50
Rd 45
in the next file, the format is similar but still mixed in with other objects
RA 7
Rz 15
Rd 35
I want it to output a matrix/array that is
RA Rz Rd
5 50 45
7 15 35
Here is what i have so far
For i=1:100
outputString = sprintf('SR%d', i);%file names should be SRX where X is integer
fileID=fopen('outputString');
result = textscan(fileID,'%s %d ');
J=result{1}
X=char(J)
mat_cell(:,2)=J
K=result{2}
fclose(fileID);
s = cell2struct(result,result{1},3)
I am having problems both getting the Cell Arrays into column labels, but also inputing multiple files.
Thank you!

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 5 Aug 2014
Edited: Azzi Abdelmalek on 5 Aug 2014
for k=1:100
outputString = sprintf('SR%d.txt', k);
d=importdata(outputString)
num{k}=d.data
end
  2 Comments
Ronald
Ronald on 5 Aug 2014
Thank you for the help so far, those two functions were very useful. How do I now convert the cell arrays to column headers? this was one of my main issues. I have tried Char, Cell2struct and many other Cell2 commands.
Azzi Abdelmalek
Azzi Abdelmalek on 5 Aug 2014
for k=1:100
outputString = sprintf('SR%d.txt', k);
d=importdata(outputString)
num{k}=d.data'
end
out=cell2mat(num)

Sign in to comment.


Christopher Berry
Christopher Berry on 5 Aug 2014
It sounds like you really should be using a table data type. Take a look at some of the examples on the document page here:
Its probably much better suited to what you are trying to do.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!