Can't concatenate table variables?

10 views (last 30 days)
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

Walter Roberson
Walter Roberson on 3 Dec 2018
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
Susan Santiago
Susan Santiago on 4 Dec 2018
Actually I figured it out! I used setvartype in case anyone wants to know. Thanks for the answer
Walter Roberson
Walter Roberson on 4 Dec 2018
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)

Categories

Find more on Tables 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!