How to change data type of table in matlab

15 views (last 30 days)
I am reading a spreadsheet with 2 columns using readtable command in Matlab. Both columns of the table are read as a string. How two change the datatype of a second column to double.
  2 Comments
Stephen23
Stephen23 on 12 Nov 2018
"How two change the datatype of a second column to double."
Most likely if the data could be imported as numeric then it already would be... what kind of values are in those columns?
If you can, please upload the spreadsheet by clicking the paperclip button.
Iram Shahzadi
Iram Shahzadi on 12 Nov 2018
Thank you for help. Here is the sheet. The first variable is path to Image and second variable 'patient' is some specific location in Image. I want the location to be imported as [1*4 double].

Sign in to comment.

Accepted Answer

Guillaume
Guillaume on 12 Nov 2018
Really, you should change the way you store your data in the spreadsheet. As it is you're losing most of the benefit of the spreadsheet format. Even in excel, you wouldn't be able to use those numbers as they're stored as text.
One of the many ways of extracting the numbers from the text:
t = readtable('book1.xlsx');
t.patient = cellfun(@str2double, regexp(t.patient, '\d+', 'match'), 'UniformOutput', false)
If you didn't have those brackets [] around the text and the numbers had beens separated by spaces, it would have been easier.

More Answers (1)

madhan ravi
madhan ravi on 12 Nov 2018
  1 Comment
Iram Shahzadi
Iram Shahzadi on 12 Nov 2018
I want to change the second variable to double type. I used str2double but all entries under the second variable changed to NaN. Here is what i used
T = readtable('Book1.xlsx') variableNames = T.Properties.VariableNames; T.(variableNames{2}) = str2double(T.(variableNames{2}));

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!