concatenate mutiple tables repetative
5 次查看(过去 30 天)
显示 更早的评论
Hello
I have a very large number of individual tables at my workspace, and I would like to concatenate them into a larger one by vertically combining all of them.
I have seen vertcat but i think it doesn't do so many repetition
The form of the final table is supposed to be =[A;B;...;n], does any body know of a way to automatically concatenate them.
the tables are generated into the workspace after some data manipulation of some .netCDF files, each table has been assigned a name automatically e.g. W1, W2.....Wn.
I had the tables into a structure (struct 1x1), but due to certain conditions had to individually extract them and save them assigning them with a timestamp, so now they are on the workspace as a table of 1603x561.
So all the tables are exactly the same dimension but my problem is how to automatically combine them vertically
thanks
george
p.s. the questioned is a re-post unfortunately the previous answer was not working ,thank though for the contribution in adnvance
11 个评论
dpb
2013-10-16
编辑:dpb
2013-10-16
It was essential that the tables were ... given separate names
I don't believe that for a minute... :) That all could have been done in different manner. At least two better alternatives of named structure fields or cell arrays have been posited regardless of version. A third if you have a late release.
One alternate solution would be to go back to the beginning before you split them all up and just create the whole thing from the git-go and forget about the current W* arrays entirely.
By this I mean you could leave your existing code up to this point that works for the plots and all but instead of then trying to smush all these together that as you've discovered isn't simple just say
clear W*
to free up memory and then build the full data set from the files again. This is somewhat inefficient in that it is redundant, yes, but it lets you get from where you are to where you want to go and you can then if this is going to be a repeating future need make the modifications in your existing code without that being on a critical path to finishing this dataset.
Whatever you do, it is just going to be plain ugly and get uglier all the time to continue this route.
The only way out from here is eval or writing them all out explicitly in a try...catch...end block to handle any non-existant ones, etc. or other equally bad (or even worse) choices.
Stephen23
2019-10-21
编辑:Stephen23
2019-10-21
This is a duplicate question:
http://de.mathworks.com/matlabcentral/answers/90359-concatenate-mutiple-tables-by-repetative-process
"...It was essential that the tables were created, and given separate names..."
I very much doubt that:
回答(2 个)
Sean de Wolski
2013-10-16
Are these "tables" actual table datatypes? If they are then you can use innerjoin/outerjoin/stack etc.
If they are not, then you might want to consider using tables instead (new in R2013b).
0 个评论
Azzi Abdelmalek
2013-10-16
编辑:Azzi Abdelmalek
2013-10-16
It's recommanded to generate one variable w instead of w1,w2,...
If you have no choice to do it, you can try this:
n=5
s=['w=[' sprintf('W%d;',1:n) ']']
eval(s)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!