找回密码
 注册
关于网站域名变更的通知
查看: 281|回复: 2
打印 上一主题 下一主题

如何批量导入txt文件并处理

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-3-10 10:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

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

x
麻烦高手指点一下,一个data文件夹里面有36个txt文件从1到36.txt,需要批量导入matlab工作空间,然后将每个txt文件里提取(1:end-5,1:20)矩阵,然后再保存,怎么代码实现啊?% R; a9 o) Q, r" S1 G& b

该用户从未签到

3#
发表于 2022-3-10 13:33 | 只看该作者
clear all
- w4 ^! P+ W! e1 D8 O+ ?clc% {) m9 }, O6 B- e) W

" P8 s: X  g' d9 P%<=============================数据批量导入===============================>%* Q! U- p# i6 x) L, j

) r6 S5 a; n; m0 [2 pRootPath = uigetdir;                   %选择任务路径,不可选到式样编号文件夹4 C: s/ v5 r& M9 @7 j6 x6 T
% FileFolder = fullfile(RootPath);       %选到式样编号文件夹的上一级文件夹即可
' E8 W' e( H/ k& VDirOutput = dir(fullfile(RootPath));           %读取式样编号文件名,dir
% P. e- I  A% V; USimpleName = {DirOutput(3:end).name}';           %函数读出的结果为结构数组,
8 K( ]) \6 ]: `8 p3 cLenSimFile = length(SimpleName);                                                 %把读到的文件名存为元胞数组
" x- `# \  f8 q5 \4 J, }  z                                                ! a& I) v$ k+ {3 q: B
%自动批量导入数据  7 p8 A* O( ^: j' p/ r; ~$ |

- M6 d) A4 f3 n( i6 z
; w1 ]( P4 W" Tfor i = 1 : LenSimFile
" q, V5 @1 D, R) [6 o! a    ReadPath(i) = {[RootPath,'\',SimpleName{i}]};+ Q  m1 K  k) G0 ]
    TxtData = importdata([RootPath,'\',SimpleName{i}]);
8 r# b; P$ w" E4 m2 @) A0 n+ s' \! [$ {5 d    %读取数据- x3 V' B1 ?7 Y! W
    [DealData{i}] = smoothdata(TxtData);                        - e% n3 O2 u5 ?3 m: ?/ @! D4 i
end; g/ \1 W$ |7 h/ U0 O

2 O; R3 I) t! v& W1 r%选择路径创建相关文件夹及文件# U/ C% ?, h# {/ ~
3 X+ J" i% Q2 n
ProtectPath = uigetdir('请选择保存路径');: y  v- \" F! f
ProtectPath = [ProtectPath,'\','处理后的数据','\'];
# @" C+ ]# m3 Y& ]for i = 1 : LenSimFile
" |& Q1 d  r7 F) b- ^2 |        mkdir(ProtectPath);
3 c( t5 M! F$ t/ H% P        ID = fopen(strcat(ProtectPath,'\',SimpleName{i}),'w+');
6 @; U7 |" d# O. T+ d  T        fprintf(ID,'%.6f\t%.6f\r\n',DealData{i});
( a( P- P7 t9 \8 D2 V) m        fclose(ID);
5 h+ F. O* J% c. eend
, Y  D5 L/ q9 e% Q: U  U- X0 q
. }/ G# F* B; \4 Y+ x/ k4 B! |( F9 F9 o9 O: b
% 说明:1.数据的存放方式为:文件夹\*.txt数据文件,使用是只要选择文件夹即可
  _5 S; d7 _" N; E$ w. z; A%      2.数据去噪的处理方法是按第一列升序排列后,按2 c, h5 j  s9 w
%      data( i , : ) = (data( i - 3 , : ) +data( i - 2, : )+data( i - 1 , : )+data( i , : )...
5 c# z+ D. u3 V" B- i; m5 E%      +data( i + 1 , : )+data( i + 2 , : )+data( i + 3 , : ))/7;方式平滑化处理

该用户从未签到

2#
发表于 2022-3-10 13:12 | 只看该作者
本帖最后由 Houseefe 于 2022-3-10 13:14 编辑
" Q8 H7 o' i# D; E
' E6 O% O5 c' G; ^/ ~数据处理的函数
: X: Z; ~% i. V% j  pfunction  DealData = smoothdata(data)# H, u5 Z: w6 U2 c! X! ~
DealData = data(1:end-5,1:20);
9 _5 `; m: G# B1 J, @3 M; O  {end2 D+ W5 m  N2 l; E8 i0 |! p. b
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 17:17 , Processed in 0.156250 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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