鱼C论坛

 找回密码
 立即注册
查看: 424|回复: 1

matlab

[复制链接]
发表于 2024-4-12 02:40:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
文件夹内有多个excel,第一列是年份(1960—2019),删除每个excel1960—1989的所有行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 22:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表