【Matlab】如何读取文件夹下所有txt数据进行处理并以txt结果更名输出

如何读取文件夹下所有txt数据进行处理并以txt结果更名输出

目录

前言

一、Matlab中fullfile函数用法

二、使用步骤

1.读取文件夹下所有txt文件并以struct存储变量

2.循环下读取每个txt文件中的数据并进行处理

总结



前言

遇到Matlab需要大批量处理一个文件夹下所有的txt格式,经过信号处理后输出成txt文档时,需要编写代码用以代替大量手动复制操作,故为之,复用性高。

一、Matlab中fullfile函数用法

f = fullfile('myfolder','mysubfolder','myfile.m')

二、使用步骤

1.读取文件夹下所有txt文件并以struct存储变量

clc
clear all
fileFolder = fullfile('C:\testdata');
dirOutput = dir(fullfile(fileFolder,'*.txt'));
fileNames = {dirOutput.name};

2.循环下读取每个txt文件中的数据并进行处理

本文以矩阵中所有变量+1代为表示:

for i = 1:length(fileNames)
    cd 'C:\testdata'
    filename = fileNames{i};
    Rawdata = dlmread(filename);
    %
    %算法,以data_after_processing为变量名输出
    %
    data_after_processing = Rawdata+1;
    dlmwrite(['C:\testdata',filename(1:end-4),'_afterprocessing','.txt'],data_after_processing,'delimiter','\t','newline','pc');
end

总结

所有变量进行+1处理,以原文件名+'_afterprocessing'的新名存为新txt文件。

clc
clear all
fileFolder = fullfile('C:\testdata');
dirOutput = dir(fullfile(fileFolder,'*.txt'));
fileNames = {dirOutput.name};

for i = 1:length(fileNames)
    cd 'C:\testdata'
    filename = fileNames{i};
    Rawdata = dlmread(filename);
    %
    %算法,以data_after_processing变量输出
    %
    data_after_processing = Rawdata+1;
    dlmwrite(['C:\testdata',filename(1:end-4),'_afterprocessing','.txt'],data_after_processing,'delimiter','\t','newline','pc');
end

猜你喜欢

转载自blog.csdn.net/LusionLv/article/details/127554312