Seperating strings and numbers using xlsread

7 次查看(过去 30 天)
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.)
  4 个评论

请先登录,再进行评论。

采纳的回答

per isakson
per isakson 2017-7-13
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
  1 个评论
Adam Cook
Adam Cook 2017-7-13
Thanks Per! Does exactly what I wanted! Now to deconstruct it and teach myself the inner workings of this beauty.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Standard File Formats 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by