Clear Filters
Clear Filters

Sort and export data from 2 cells

1 view (last 30 days)
BN
BN on 2 Apr 2020
Commented: Ameer Hamza on 2 Apr 2020
Hey all,
I have 2 cells (A and B). Each one contains three 1x2 tables. In each table, I have a month number column and precipitation amount column. I would like to have a cell or table that presents all January precipitation from each cell arrays of A in one column Below each other, and next column all January precipitation from each cell arrays of B below each other; and do it until December.
the results that I want is something like this: (row are 3 because of 3 cella arrays in each cell and columns are 24 because of 12 for cell A months and 12 for cell B months)
Thank you

Accepted Answer

Ameer Hamza
Ameer Hamza on 2 Apr 2020
Try this
load('A.mat');
load('B.mat');
a = cell2mat(cellfun(@(x) {x{:,2}}, A))';
b = cell2mat(cellfun(@(x) {x{:,2}}, B))';
M = zeros(size(a,1), size(a,2)*2);
M(:,1:2:end) = a;
M(:,2:2:end) = b;
month_names = month(datetime(2020,1:12,1), 'name');
varNames = cell(1,24);
varNames(1:2:end) = strcat(month_names, '_1');
varNames(2:2:end) = strcat(month_names, '_2');
T = table(M);
T = splitvars(T, 1, 'NewVariableNames', varNames);

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!