|
发表于 2024-9-1 23:14:03
|
显示全部楼层
本楼为最佳答案
看起来你的代码中可能有一些特殊字符或格式问题导致错误。下面是完整和规范化完整的代码,以确保避免这种错误:
- % 读取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 小助理,如未能正确解答您的问题,请继续追问。 |
|