'Unable to concatenate the table variables 'Var1' and 'Var2', because their types are cell and double.' why this error is showing?
59 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
clear all;
clc;
%read X sample
ix1 = readtable("x_sample_01.dat",'ReadVariableNames',false);
x1 = table2array(ix1);
0 Commenti
Risposte (1)
Walter Roberson
il 18 Mar 2023
Your file contains a mix of text and numeric. What result are you expecting when you ask to convert it to a single array?
5 Commenti
Walter Roberson
il 25 Ago 2023
I can say that your analysis is incorrect for the situation because I demonstrated a case where table2array() causes exactly the error that the error reports.
Furthermore, in cases where "just numbers are remained" then table2array() will not have any problems. Here is an example in which readtable is removing leading text, leaving only numbers, and you can see that what is left does not cause any problem with table2array()
headerlines = {'heading out to Eden'; 'No more trouble in my body or my mind'};
Var1 = [101; 201];
Var2 = [11; 22];
top = [headerlines, cell(2,1)];
bottom = [num2cell(Var1), num2cell(Var2)];
C = [top; bottom]
writecell(C, 'temp_table.xlsx');
ix1 = readtable('temp_table.xlsx')
x1 = table2array(ix1)
writecell(C, 'temp_table.csv');
dbtype temp_table.csv
Walter Roberson
il 25 Ago 2023
The case where there are empty columns get converted to doubles and filled with NaN -- no problem with table2array()
headerlines = {'Var1', 'Var2'};
Var1 = cell(2,1);
Var2 = [11; 22];
top = headerlines;
bottom = [Var1, num2cell(Var2)];
C = [top; bottom]
writecell(C, 'temp_table.xlsx');
ix1 = readtable('temp_table.xlsx')
x1 = table2array(ix1)
writecell(C, 'temp_table.csv');
dbtype temp_table.csv
Vedere anche
Categorie
Scopri di più su String Parsing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!