Matlab批量读取csv、txt、prn等文件
生活随笔
收集整理的這篇文章主要介紹了
Matlab批量读取csv、txt、prn等文件
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
clear;
close all;
clc;
%檢查數(shù)據(jù)格式,每一列為一個(gè)樣本數(shù)據(jù)
Files=dir('G:\1、科研相關(guān)\試驗(yàn)\*.csv'); %讀取文件夾里所有.csv的文件,且把文件名按順序讀取在Files中
n=length(Files); %Files中文件數(shù)目% sort_nat 詳見 https://blog.csdn.net/weixin_37706204/article/details/127023046
Files2 = sort_nat({Files.name}); % 按照順序讀取文件名 %需要將Files2的cell格式轉(zhuǎn)換為struct,才可以進(jìn)行后續(xù)數(shù)據(jù)提取
%詳見https://blog.csdn.net/kyang624823/article/details/78678075?ops_request_misc=&request_id=&biz_id=102&utm_term=matlab%E5%B0%86cell%E5%86%99%E5%85%A5%E5%88%B0struct&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-78678075.nonecase&spm=1018.2226.3001.4187Files3=cell(n,1);
for i=1:n;Files3{i}.name=Files2{i};
end
Files4=[Files3{:}];%此時(shí)Files4文件格式與初始Files相同% 數(shù)據(jù)整合過程參考 https://blog.csdn.net/weixin_53096769/article/details/110529553
x=Files4(1).name; % Files4中的第一個(gè)文件的名
z=importdata(x); % 讀取第一個(gè)文件中的csv格式數(shù)據(jù)
z=z(:,2); % 只需要第2列的數(shù)據(jù),根據(jù)數(shù)據(jù)格式修改,z中每一列為一個(gè)樣本數(shù)據(jù)
z=z'; % 需要轉(zhuǎn)置成行數(shù)據(jù)
Last_Files=z; % Last_Files是最終文件
for i=1:n-1x=Files4(i+1).name; %讀取Files4的名字 z=importdata(x); %讀取.csv的數(shù)據(jù)z=z(:,2); %轉(zhuǎn)置過程同上z=z';Last_Files=[Last_Files;z];% 依次提取并組合到Last_Files中
endsave Last_Files %保存C4為C4.mat到當(dāng)前文件夾
Last_Files=Last_Files'; %此時(shí)每一列為一個(gè)樣本數(shù)據(jù)%嘗試過將每一個(gè)樣本數(shù)據(jù)和樣本號(hào)進(jìn)行對(duì)應(yīng)整合,但由于double和cell格式不同,一直沒有成功
%需要的話可以手動(dòng)粘貼到excel,后綴也可以嘗試刪除掉
%Files2為文件名
有時(shí)候采集數(shù)據(jù)時(shí),經(jīng)常需要將不同樣本(不同格式)數(shù)據(jù)進(jìn)行匯總
上述代碼參考其他博主,進(jìn)行了相應(yīng)修改:
1、主要是sort_nat函數(shù)的應(yīng)用(按照命名順序進(jìn)行數(shù)據(jù)提取,這個(gè)非常重要)需要安裝sort_nat函數(shù),要檢查好最終匯總數(shù)據(jù)是否按照自己的要求排序,大量文件亂序排放嚴(yán)重影響結(jié)果!!!
2、cell與struct格式的轉(zhuǎn)換,轉(zhuǎn)換后才可以進(jìn)行csv文件數(shù)據(jù)的提取。
3、修改代碼Files=dir('G:\1、科研相關(guān)\試驗(yàn)\*.csv');中后綴,可以進(jìn)行prn、txt文件的批量讀取。
總結(jié)
以上是生活随笔為你收集整理的Matlab批量读取csv、txt、prn等文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装Linux后的遗留问题
- 下一篇: 计算机网络是将地理知识,计算机网络的基础