What defines the type of the different variables (eg. cell or double) when you import data (for example from a csv table using uigetfile) ?

19 次查看(过去 30 天)
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));

采纳的回答

Surbhi Pillai
Surbhi Pillai 2018-9-24
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 个评论
Max Jaquenoud
Max Jaquenoud 2018-11-20
Hi,
First of all, thank yo for your answer. My problem is that the table I have should contain only numbers. However, when I import the csv file into matlab, he thinks that some of these numbers are strings. Is there anyway to convert table types from string to double ?
Best,
Max
Karim botros
Karim botros 2020-10-20
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Tables 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by