如何保存数据在多个表xlswrite吗?
2视图(30天)
显示旧的评论
嗨,我想保存数据从一个细胞xlswrite成多个工作表的工作簿。
在表1中我想保存数据从第一年,从第二年在表2中数据,等等。
我的代码是这样的:
为f = 1:长度(duniqyear)
空= 0(1、长度(A));
j = 0;
X = regexprep (Y (f:), Y (f,:), sprintf (“% s $ 0”,“Z”))
Z = strfind (X);
为k = 1:长度(A)
indx =找到(Z {k});
如果indx = = 1;
空(k) = j + 1;
结束
结束
C =找到(空的);
B = (C);
xlswrite (b, b, f)
结束
在哪里
duniqyear =
2008年
2009年
2010年
这几乎是工作。我需要找duniqyear数据相匹配的一年。问题是,当使用
Z = strfind (X);
Z返回值相匹配的所有字符串,其中包含“2008”和“2009”等等。这不是我想要的是一些字符串“200808042230 z”和“02010 kt”组。我只想匹配的表达式与第一组信息的字符串。
细胞是这样的:
…
“航空例行ESSB 201002282250 z汽车201002282250 kt 5000 ndv BR OVC001 / / / 01/01 Q0993 3071 / / 73
“航空例行ESSB 201002282320 z汽车201002282320 kt 2900 ndv BR VV002 01/01 Q0992 3071 / / 73
“航空例行ESSB 201002282350 z汽车201002282350 kt 4200 ndv BR VV002 01/01 Q0992 3071 / / 73
…等等
我想使用strfind“2010”和“Z”来识别字符串包含的一年。这是可能还是我在错误的轨道呢?
谢谢你!
接受的答案
Guillaume
2016年10月12日
编辑:Guillaume
2016年10月12日
如果我理解正确的话:
%的输入:
%:细胞char数组的数组。想找那里的年。
%(总是4位数)是一年之前,一个空间,紧随其后的是更多的数字和“Z”
%输出:
% duniqyear:独特的年编码,数字向量
% Asplit:单元阵列的输入分组,duniqyear对应。Asplit因此char数组的单元阵列的细胞阵列
yearstring = regexp (,‘(?< =)\ d {4} (?= \ d + Z) ',“匹配”,“一次”);%提取年字符串
断言(~ (cellfun (@isempty yearstring)),“没有找到年一些字符串”);
[duniqyear ~, idx] =独特(str2double (yearstring));%转换为数字,获得独特的值和相应的指数
Asplit = accumarray (idx 1:元素个数(A),[], @(指数){(指数)});%分配相同的年的目的地。