Effacer les filtres
Effacer les filtres

How to change data type of table in matlab

11 vues (au cours des 30 derniers jours)
Iram Shahzadi
Iram Shahzadi le 12 Nov 2018
Commenté : Iram Shahzadi le 12 Nov 2018
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 commentaires
Stephen23
Stephen23 le 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 le 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].

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 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.
  1 commentaire
Iram Shahzadi
Iram Shahzadi le 12 Nov 2018
Thanks a lot. it worked for me :)

Connectez-vous pour commenter.

Plus de réponses (1)

madhan ravi
madhan ravi le 12 Nov 2018
  1 commentaire
Iram Shahzadi
Iram Shahzadi le 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}));

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by