Add rows to table
17 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
SilverSurfer
am 17 Jul. 2020
Kommentiert: SilverSurfer
am 19 Jul. 2020
I need to concatenate horizzontaly two tables.
If tables does not have same rows it is not possibile to use horzcat so my idea was to adjust tables row in order to use horzcat.
Each column will contain strings but can have different number of rows so some of them shall remain empty.
I'm currently using this piece of code on 2020a and it works. Now I'm porting to 2018b but it does not work.
% create empty table
filedata = table.empty;
for z = 1 : sheets_nr
sheetData = readtable(filename,'Sheet',cell2mat(sheets(z)));
[n1,~] = size(sheetData);
[n2,~] = size(filedata);
if n1 > n2
filedata(n2+1:n1,:) = {''} ;
else
sheetData(n1+1:n2,:) = {''} ;
end
% concatenate horizzontally
filedata = horzcat(filedata, sheetData);
end
The error is related to
filedata(n2+1:n1,:) = {''} ;
First error is "conversion from double from cell is not possible".
Even if I remove curly brackets I get another error "To assign to or to create a variable in a table, the number of rows must match the height of the table"
I just want to increase the number of rows and fill them with empty string.
0 Kommentare
Akzeptierte Antwort
madhan ravi
am 17 Jul. 2020
s = [1, 2, 3;...
4, 5, 6]; % an example
T = array2table(s);
T1 = array2table(repmat("",2,3));
T1.Properties.VariableNames = T.Properties.VariableNames
[T; T1]
1 Kommentar
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!