12345678zltsy 发表于 2024-4-12 02:40:48

matlab

文件夹内有多个excel,第一列是年份(1960—2019),删除每个excel1960—1989的所有行

FishC 发表于 2024-4-12 02:40:57

在MATLAB中,你可以使用`dir`函数来获取文件夹内的所有文件名,然后使用循环来处理每个文件。接下来,你可以使用`readtable`函数来读取每个Excel文件,并使用行索引和逻辑索引来删除特定范围内的行。最后,你可以使用`writetable`函数将修改后的数据写回到原始Excel文件中。

下面是一个示例代码:

% 设置文件夹路径
folder_path = '文件夹路径';

% 获取文件夹内的所有文件
file_list = dir(fullfile(folder_path, '*.xlsx'));% 根据实际的文件扩展名修改

% 遍历每个文件
for i = 1:length(file_list)
    % 读取Excel文件
    file_name = fullfile(folder_path, file_list(i).name);
    data = readtable(file_name);% 根据实际的文件格式修改
   
    % 根据年份删除行
    indices = data.年份 >= 1960 & data.年份 <= 1989;
    data(indices, :) = [];% 删除符合条件的行
   
    % 将修改后的数据写回到原始Excel文件中
    writetable(data, file_name);% 根据实际的文件格式修改
end

请注意,上述代码假设Excel文件的第一列名称为"年份"。如果实际情况不同,请根据你的实际数据调整代码中的列名。此外,上述代码还假设Excel文件的格式为xlsx,如果是其他格式(如xls),请相应地进行修改。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: matlab