COMBINING MULTIPLE TABLES TOGETHER

20 Ansichten (letzte 30 Tage)
RUSSELL KHAJURIA
RUSSELL KHAJURIA am 9 Okt. 2018
Bearbeitet: Stephen23 am 11 Okt. 2018
I am working with a .mat file that has 100 tables (with different names) attached to it. I want to combine all those tables into a new single table without using individual names. Please help
  4 Kommentare
RUSSELL KHAJURIA
RUSSELL KHAJURIA am 11 Okt. 2018
yes widths are the same and I wont attach the .mat file. I have used the eval function to do the job but I want to do it without eval function??
KSSV
KSSV am 11 Okt. 2018
I wont attach the .mat file why you don't attach a file, when you are asking a question in the forum?

Melden Sie sich an, um zu kommentieren.

Antworten (2)

KSSV
KSSV am 11 Okt. 2018
Type = {'Autostable' ; 'Auto' } ;
Status = { 'Success' ; 'Failure'} ;
Rank = [23 56 ]' ;
T1 = table(Type,Status,Rank) ;
Type = {'Manual' ; 'Manual' ; 'Manual' ; 'Reinitiate' } ;
Status = {'Failure' ; 'Disconnect' ;'Success' ; 'Success'} ;
Rank = [12 45 45 42]' ;
T2 = table(Type,Status,Rank) ;
T = [T1 ; T2]
% Use cat
T = cat(1,T1,T2)

Stephen23
Stephen23 am 11 Okt. 2018
Bearbeitet: Stephen23 am 11 Okt. 2018
"I have used the eval function to do the job but I want to do it without eval function??"
That is a good idea, because eval makes code slow, complex, and buggy. Read this to know why:
First import the .mat file into a structure:
S = load(...);
Then you have a choice: either loop over its fieldnames and use dynamic fiekdname to access each table:
N = fieldnames(S);
N = natsort(N); % download from FEX
C = cell(size(N));
for k = 1:numel(N)
C{k} = S.(N{k});
end
T = vertcat(C{:}); % or whatever way you want to join the tables.
or use struct2cell and a simple concatenation:
C = struct2cell(S);
T = vertcat(C{:});
If you want to use innerjoin (or similar) on multiple tables then you will need to use a loop.

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by