看起来你的代码中可能有一些特殊字符或格式问题导致错误。下面是完整和规范化完整的代码,以确保避免这种错误:
% 读取Excel文件
data = readtable('input.xlsx');
% 获取唯一的年份
years = unique(data.年份);
% 初始化结果数据
results = table('Size', [0 3], 'VariableTypes', {'string', 'string', 'double'}, ...
'VariableNames', {'站点名称', '具体日期', '最大值'});
% 遍历每一个年份
for i = 1:length(years)
year = years(i);
% 筛选当前年份的数据
year_data = data(data.年份 == year, :);
% 找到当前年份的最大值及对应的行
[max_value, idx] = max(year_data.数值);
% 读取最大值对应的行
max_row = year_data(idx, :);
% 添加到结果数据中
new_row = {max_row.站点名称, max_row.具体日期, max_value};
results = [results; new_row];
end
% 导出到新的Excel文档
writetable(results, 'output.xlsx');
注意事项:
1. 确保Excel文件(`input.xlsx`)和MATLAB代码处于同一目录下,或使用完整路径。
2. 列名称(比如 `data.年份` 等)应与Excel文件中的名称一致。
3. 使用标准的ASCII字符,避免特殊字符或不可见字符。
这样可以避免文本字符无效的错误。希望这些解释对你有帮助!如果还有问题,随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |