Append values in a new column
Show older comments
Hello all
The code below overwrites the previous values in the column Delay and inserts only the last ones (20). There should be a way to append the array instead of overwriting it but I dont know how. Any help will be appreciated
if contains(baseFileName,"A01")
x{k} = readtable(fullFileName,opts)
bigtable = vertcat(x{:})
bigtable(:,'Delay') = {10}
elseif contains(baseFileName,"A02")
x{k} = readtable(fullFileName,opts)
bigtable = vertcat(x{:})
bigtable(:,'Delay') = {20}
end
Answers (2)
Cris LaPierre
on 7 Dec 2021
If your tables have the same variable names (order does not matter), then just use square brackets.
newTable = readtable(fullFileName,opts)
bigtable = [bigtable;newTable];
5 Comments
Ioannis Doumanis
on 7 Dec 2021
Ioannis Doumanis
on 7 Dec 2021
Edited: Ioannis Doumanis
on 7 Dec 2021
Cris LaPierre
on 8 Dec 2021
I'm not sure I understand what your code is doing. Why do you assign the result of readtable to a cell array, but them vertically concatenate x?
The assignment to specific rows of a variable in a table is easy enough to do
bigtable.Delay(1:6000) = 10;
Ioannis Doumanis
on 8 Dec 2021
Cris LaPierre
on 20 Dec 2021
Consider sharing your data files. You can attach them using the paperclip icon.
Ioannis Doumanis
on 8 Dec 2021
Categories
Find more on Startup and Shutdown 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!