EDA365电子论坛网

标题: 如何使用matlab进行文件批量处理 [打印本页]

作者: mutougeda    时间: 2020-3-13 09:24
标题: 如何使用matlab进行文件批量处理

3 p( E# G* d9 f在使用matlab处理数据时,常常会遇到在一个文件中有很多相同的格式的数据文件,如果一个一个读取不仅浪费时间,也会使程序显得臃肿。
+ r% z: i5 ^% c( Z% }; b# MMonthSelection='alldata';
) G# [+ s" ]6 ustr='C:UsersRyanDocumentsMATLAB';
' `& {+ d6 }! s" wcd([str,MonthSelection]);%待处理的数据文件所在文件夹
) b3 {' l( C1 l/ ?5 `2 kAllname=struct2cell(dir); %得到上述文件夹下的所有文件名
8 h* Y8 {5 @) s/ @. Z% a3 t: w[m,n]=size(Allname);%得到文件名的个数
" ?' j$ o4 a- V3 \' K& qstr1=[str,'result'];! r3 p! m0 @$ X: m! m8 z, t# k
mkdir(str1)%开辟新文件" T6 S( Y9 Q! r
使用上述方法一定要记住文件个数为n-2个,即文件从3:n.下面就可以利用循环对数据文件进行处理了。
, Z* p, \. U, }+ G例:读取文本批文件的格式5 |3 ~' ?' z4 h, d4 y0 R
MonthSelection='alldata';
. X0 o, I! }6 d" `str='C:UsersRyanDocumentsMATLAB';; C6 `; P" T' ~6 B/ n& i3 N
cd([str,MonthSelection]);%待处理的数据文件所在文件夹( k6 ?5 u* H6 G- d
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名( b' X0 Q/ N" f) L. G
[m,n]=size(Allname);%得到文件名的个数
+ A4 C1 ^4 q4 c9 ~. ]str1=[str,'result'];%%%%
. \' _/ d7 b0 Nmkdir(str1)%开辟新文件%%%1 G- ^" C% z/ J. @3 n5 o
for i=3:n
) Y- c  ^8 Y; S7 |. DAllname{1,i};%第i个文件的全名# m$ |8 ~' B, I; o9 @
cd1=[cd,'',Allname{1,i}];%第i个文件地址
+ Y: Y) @0 H; u% P8 jfid=fopen(cd1,'rt');%open file for reading data! {4 d7 |1 j( \. c+ M9 F4 \) i4 b
if (fid==-1)
" @1 E3 Y8 a9 T( ~; \7 H      display('No File was selected!');
( B* s6 u7 p  _5 P! P0 I      return;
# S5 p4 r- a7 bend( T% r6 E' s2 h, l2 n4 b
A=textscan(fid,读取格式);
0 C9 j. J+ x* B, R4 A9 A3 H- L7 P....
1 f; N9 X5 ~5 e$ e$ v; send# n/ W  u2 S0 }  S0 C

作者: CCxiaom    时间: 2020-3-13 18:12
使用matlab进行文件批量处理




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2