Seperating strings and numbers using xlsread
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Adam Cook
am 12 Jul. 2017
Kommentiert: Adam Cook
am 13 Jul. 2017
I have some data in an excel sheet that each cell has words and a number. I wish to read in this sheet into two matrices of the same size, where one contains the words and the other contains the numbers. I can then perform the relevant functions on the numbers and get a script to display the corresponding text cell.
An example input xls sheet would be of the form of a 2x2 matrix:
adam (1.5) jordan (2.5)
james (2.9) chris (1.7)
And I would want this separated to:
adam jordan
james chris
and
1.5 2.5
2.9 1.7
any input would be helpful, thanks
-----------------edit------------------
I have now uploaded an xls file of an example dataset. The first column is the time (which i will retain when reading in) and the final column is irrelevant and can be ignored when reading in. My question is aimed towards the columns B:D in this file.
(the excel file is xls to upload, but it will be xlsx when im using matlab.)
Akzeptierte Antwort
per isakson
am 13 Jul. 2017
Loops are allowed
>> [ str, num ] = cssm0();
>> whos str num
Name Size Bytes Class Attributes
num 33x3 792 double
str 33x3 12928 cell
where
function [ str, num ] = cssm0()
[~,txt] = xlsread('test.xls');
len = size(txt,1);
str = cell( len, 3 );
num = nan( len, 3 );
for jj = 1 : len
for ii = 1 : 3
if not( isempty( txt{jj,ii} ) )
cac = textscan( txt{jj,ii}, '%s%f', 'Whitespace',')', 'Delimiter','(' ) ;
str{jj,ii} = strtrim(cac{1}{1});
num(jj,ii) = cac{2};
else
str{jj,ii} = '';
num(jj,ii) = nan;
end
end
end
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Standard File Formats finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!