Concatenating multiple tables in a cell array

33 views (last 30 days)
Hello Everyone, I have a cell array with hundreds of tables in it, It's a 1165x1 cell array. The first 499 are empty cells but the rest have tables in them. from T{500} to T{end}
Most of the tables are 20x153 tables but some of them have different amount of columns (I have identified about 10 out of the 500) which have columns ranging from 130 to 157 columns. Is there a way I could concatenate vertically all the tables in the cell array with 20x153 dimensions ignoring these outliers?
Thank you.
  2 Comments
Walter Roberson
Walter Roberson on 19 Jul 2021
The entries that have fewer than 153 columns: you want to ignore those entries completely, right?
The entries that have more than 153 columns: do you want to ignore those entries completely, or do you want the first 153 columns of them to be used?
Daniel Abraham
Daniel Abraham on 19 Jul 2021
Well I was actually looking for an easy way out haha,I think I’d prefer the second option if it’s possible.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 19 Jul 2021
mask = cellfun(@(c) size(c,2) == 153, T);
Tfull = vertcat(T{mask});
  8 Comments
Walter Roberson
Walter Roberson on 27 Jul 2021
That code does not download from OneDrive to local disk, but if possible you would really rather read from local disk than from OneDrive. The performance loss for reading from OneDrive can be substantial. Even just starting by copying the files to local drive can improve performance a lot.
Daniel Abraham
Daniel Abraham on 27 Jul 2021
I see, thanks a lot, I appreciate your suggestions

Sign in to comment.

More Answers (0)

Categories

Find more on Cell Arrays 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!