What defines the type of the different variables (eg. cell or double) when you import data (for example from a csv table using uigetfile) ?
20 views (last 30 days)
Show older comments
Max Jaquenoud
on 12 Sep 2018
Commented: Karim botros
on 20 Oct 2020
This is the error message i get: Error using table2array (line 27) Cannot concatenate the table variables 'Depth' and 'Cu', because their types are double and cell.
Error in Fullscan_05_17_XRF_CSV (line 7) array = table2array(table(:,1:13));
0 Comments
Accepted Answer
Surbhi Pillai
on 24 Sep 2018
While reading csv table, the data type corresponding to different variables depends on the data contained in the table. The strings in the csv table corresponds to cell type whereas the numbers correspond to double after importing csv table into MATLAB.
The error received in your case is due to conversion of a table consisting elements with different data type into an array. An array is a collection of elements of similar data types therefore it is not allowed to concatenate two different data types to form an array.
Consider using 'table2cell' to combine different data type elements to form a cell array. The documentation link to the respective function is given below:
I hope this helps!
2 Comments
Karim botros
on 20 Oct 2020
if you are using readtable(),
the readtable function in matlab defines whether a column is a number or string based on the first input.
so my guess is that you might have extra space in the column you have the issue with,
sol:
delete this space in just the first row. and it should work.
More Answers (0)
See Also
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!