Clear Filters
Clear Filters

How to join/merge all sub tables into 1 table?

1 view (last 30 days)
Hi;
i have a table (S1) and it contains 4041 tables into. Sub tables are all text. I want to merge them to a single table or cell. I don't know how to merge them..
(all tables have text data)
  4 Comments
Guillaume
Guillaume on 26 Mar 2018
That new problem is easily fixed. But at the same time, we can fix the import so that it's the right format directly. The simplest thing would be for you to show your import code.
Ergün AKGÜN
Ergün AKGÜN on 26 Mar 2018
Edited: Guillaume on 26 Mar 2018
Here is my code;
[~,SheetNames] = xlsfinfo('a.xlsx')
nSheets = length(SheetNames)
for iSheet = 1:nSheets
Name = SheetNames{iSheet};
Data = readtable('a.xlsx','Sheet',Name) ;
S(iSheet).Name = Name;
S(iSheet).Data = Data;
end

Sign in to comment.

Accepted Answer

Guillaume
Guillaume on 26 Mar 2018
Edited: Guillaume on 26 Mar 2018
[~,SheetNames] = xlsfinfo('a.xlsx');
nSheets = numel(SheetNames);
SheetContents = cell(size(SheetNames));
for iSheet = 1:nSheets
Name = SheetNames{iSheet};
SheetContents{iSheet} = readtable('a.xlsx','Sheet',Name, 'ReadVariableNames', false);
end
SheetContents = vertcat(SheetContents{:});
  2 Comments
Ergün AKGÜN
Ergün AKGÜN on 26 Mar 2018
The code lists the table numbers, but not their contents.And here is the warning.
Guillaume
Guillaume on 26 Mar 2018
The code lists the table numbers
That bit is your own code and is the output of xlsfinfo that is displayed because you didn't end the line with a semicolon.
As for the error, that's a simple typo. I wrote sheetNames instead of SheetNames.
I've fixed both issues.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!