matlab读取excel文件(隔离字符串及数字)

有时候保存在excel的数据里既包含字符串又包含数字,而我们仅需要数字进行处理。如下图所示,要是很有规律,则可以用matlab方便的进行筛选和处理。


matlab读取excel文件(隔离字符串及数字)_第1张图片


代码如下:

clear variables
close all
clc

%%  读取excel文件
[filename, pathname,~] = uigetfile({'*.xlsx'},'MultiSelect','off');
[~, ~, txt] = xlsread([pathname filename]);
[Colum, ~] = size(txt);
len = length(txt);
sourcedata = mat2str(cell2mat(txt(2)));  %将excel的数据保存成字符串格式,这样可以通过下标定位
test = zeros(Colum,1);
lengtest = length(sourcedata)-2;

%%   处理数据
hwait=waitbar(0,'处理excel数据');
for cnt = 1:Colum
    k = (cnt-1)/Colum;
    str = ['处理excel数据  ',num2str(floor(k * 100)),'%'];
    waitbar(k, hwait, str);
    data = mat2str((cell2mat(txt(cnt))));

    for count = 19:lengtest                   %隔离字符串和数字
        data2 = mat2str((cell2mat(txt(cnt))));
        test(cnt,1) = test(cnt,1) * 10 + str2double(data2(count));  
    end   
end
close(hwait);

%% 画图及保存新excel
test = test/1000;   % 将数据缩小1000倍
xlswrite('write2Excel.xls',test,'test')
figure
plot(test)
xlabel('xlabel')
ylabel('data')

运行过程:


matlab读取excel文件(隔离字符串及数字)_第2张图片


最后结果:


matlab读取excel文件(隔离字符串及数字)_第3张图片

先对应的测试数据,又多余积分的可以下载,没有的可以自己做一个

你可能感兴趣的:(Interesting,Matlab)