Can't concatenate table variables?

I'm importing data using the loop below. I'm getting an error that some of the table variables cannot be concatenated because they're a cell in one table and a noncell in another. How an I correct this? The reason for this issue is because in some data files the variable has actual values and for some parts of the files, the data appears as an NaN. Any help would be appreciated
FileID = dir('*.dat');
T = table;
for j=1:length(FileID)
opts = detectImportOptions(FileID(j).name);
Ts = readtable(FileID(j).name,opts,'ReadVariableNames',false);
Ts.Properties.VariableNames=VarNames;
T = [T;Ts];
end

 Accepted Answer

Do the detection once against a file that has numeric in that column and use those options for all of the files.
Alternatively after the option detection bash the setting for that column to make the variable numeric with the appropriate nan detection .

3 Comments

can you give me an idea of how this would actually look in the code? I'm struggling because I think I don't 100% know how these functions work.
Actually I figured it out! I used setvartype in case anyone wants to know. Thanks for the answer
FileID = dir('*.dat');
T = table;
opts = detectImportOptions(FileID(1).name);
for j=1:length(FileID)
Ts = readtable(FileID(j).name,opts,'ReadVariableNames',false);
Ts.Properties.VariableNames=VarNames;
T = [T;Ts];
end

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!