我正在尝试从Excel电子表格中获取数据,并且仅从与字符串匹配的单元格中获取信息。例如。如果单元格A10中包含“加拿大”一词,则应返回该单元格。
我尝试使用strcmp(https://www.mathworks.com/help/matlab/ref/strcmp.html)检查参数1中的字符串是否包含在包含许多字符串的单元格数组中,第二个参数
[num,txt,raw] = xlsread('\\Client\C$\Users\Fish\Desktop\dataset\dataset.csv');
mytable = cell(raw);
for i = 1:54841
array_index = i;
string_index = mytable(i,2);
string_eastern = {'Canada', 'Ontario'};
if strcmp(string_index,string_eastern);
fprintf('%d\n',array_index)
end
end
在上面的示例中,如果我的string_eastern仅包含一个元素,例如“ Canada”,它将返回“ Canada”的每个实例的索引值。如果我添加更多元素,我希望它将为string_index与string_eastern中包含的字符串匹配的每个实例返回索引值。但是,如果添加更多元素,我将一无所获。
我几乎想检查一下我的string_index是否为string_eastern,如果值匹配,那么我希望它返回该单元格值。当string_eastern仅是1个元素但不能使用超过1个元素时,此方法有效。
答案 0 :(得分:1)
要访问单元格内容,请使用大括号{}
。因此,如果我想访问单元格的第一个元素,我会这样说:
string = cell{1};
详细了解关于cells的MATLAB文档,以了解更多信息并回答您的其他问题。