使用matlab编程,有多个文件夹,每一个文件夹中有若干excel文件,同一文件夹中excel文件命名都是从1开始递增,需读取每个excel文件中第一个表格中,D101处位置上的数值,并该值导出到同一个excel中,按顺序排列
时间: 2023-05-24 07:05:18 浏览: 204
matlab读取excel文件的方法.docx
下面是一个可能的解决方案:
```matlab
% 设置文件夹路径和输出文件名
folder_path = '路径/到/文件夹/';
output_file = '输出文件名.xlsx';
% 获取文件夹中所有文件的文件名
file_names = dir(fullfile(folder_path, '*.xlsx'));
file_names = {file_names.name};
% 创建一个空行向量来存储读取到的值
values = [];
% 逐个读取文件夹中的excel文件
for i = 1:length(file_names)
% 构造当前文件的完整路径
file_path = fullfile(folder_path, file_names{i});
% 使用readmatrix函数读取第一个表格中指定位置的数值
value = readmatrix(file_path, 'Sheet', 1, 'Range', 'D101');
% 如果读取到了值,将其添加到values向量末尾
if ~isnan(value)
values(end+1) = value;
end
end
% 在Matlab中创建一个Excel文件,并将values向量中的值写入第一列
writematrix(values, output_file, 'Sheet', 1);
```
在这个方案中,我们首先通过`dir`函数获取了指定文件夹中所有Excel文件的文件名。然后,我们使用一个循环来逐个读取这些Excel文件中第一个表格中D101位置的数值,并将其存储在一个向量中。
最后,我们使用`writematrix`函数将这个存储了所有数值的向量写入一个新的Excel文件中。因为我们只需要将这些数值按照顺序排列写入到一个Excel中,所以我们只需要将这个向量写入到Excel文件的第一列即可。
阅读全文