MATLAB批量讀取txt文檔
假定MATLAB軟體的當前工作路徑為:D:\Documents\MATLAB\Matlab test\study
1. 純數字文件且文件名有一定規律
文件夾「振動試驗」中存有30個純數字文本文件,採用matlab將其數據全部讀入。
(1) 方法1
Step1:將振動試驗文件夾放入MATLAB當前工作路徑下;
Step2:編寫程序;
filelist=dir('D:\Documents\MATLAB\Matlab test\study\振動試驗\*.txt');%列出當前目錄下所有文件
n=length(filelist);%計算文件長度
intensity=[];
for i = 1:n
file_name=filelist(i).name;
s=textread(file_name);
intensity=[intensity,s];
end
Step3:讀入完成。
MATLAB運行後結果:
(2) 方法2
Step1:將振動試驗文件夾放入MATLAB當前工作路徑下;
Step2:編寫程序;
addpath('D:\Documents\MATLAB\Matlab test\study\01\')
intensity=[];
for i=1:30
file_name=['振動強度_',num2str(i),'.txt'];
s=load(file_name);
intensity=[intensity,s];
end
Step3:讀入完成。
2. 純數字文件且文件名無規律
Step1:將振動試驗文件夾放入MATLAB當前工作路徑下;
Step2:編寫程序;
addpath('D:\Documents\MATLAB\Matlab test\study\振動試驗\')
filelist=dir('D:\Documents\MATLAB\Matlab test\study\振動試驗\*.txt');%列出當前目錄下所有文件
n=length(filelist);%計算文件長度
intensity=[];
for i = 1:n
file_name=filelist(i).name;
s=textread(file_name);
intensity=[intensity,s];
end
Step3:讀入完成。
3. 文本中含字符串且文件名有一定規律
文件夾「頻響函數」中存有30次不同實驗所測的頻響函數數據,存儲格式為文本格式,該文本中前兩行是對本次實驗的說明,採用matlab將其數據全部讀入。
Step1:將頻響函數文件夾放入MATLAB當前工作路徑下;
Step2:編寫程序;
addpath('D:\Documents\MATLAB\Matlab test\study\aa\')
flist=dir('D:\Documents\MATLAB\Matlab test\study\aa\*.txt');%列出當前目錄下所有文件
num=length(flist);%計算文件長度
file_data=[];
file_text=[];
for i = 1:num
file_name=flist(i).name;
source=importdata(file_name);
para=source.data;
text=source.textdata;
file_data=[file_data,para];%存儲所有的數據
file_text=[file_text;text];%存儲文本
end
Step3:讀入完成。
MATLAB運行後結果: