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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
麻烦高手指点一下,一个data文件夹里面有36个txt文件从1到36.txt,需要批量导入matlab工作空间,然后将每个txt文件里提取(1:end-5,1:20)矩阵,然后再保存,怎么代码实现啊?( S6 M7 Z- @% ]9 B( ]: P: D( z

该用户从未签到

2#
发表于 2022-3-10 13:12 | 只看该作者
本帖最后由 Houseefe 于 2022-3-10 13:14 编辑 2 V5 g' R& a: O( J  w
. w  {0 B) x) E- ?: k5 k; P) W, @
数据处理的函数
5 q6 e  v& s& m  [function  DealData = smoothdata(data)
" V. S1 S/ j4 @$ J3 G3 eDealData = data(1:end-5,1:20);3 U% G6 A* \) Q, D" p, i
end
" g# F$ G4 v& G+ _1 G

该用户从未签到

3#
发表于 2022-3-10 13:33 | 只看该作者
clear all
" P* d, O  G% `4 B, L' Kclc) }) G5 D. I! W; w7 C' t1 V
* Z2 A/ n8 W$ v' ^/ r" ~' ~
%<=============================数据批量导入===============================>%
9 @/ Q# ~# A1 k  }9 L$ ]
" D2 F7 J4 Y7 p1 u2 z, TRootPath = uigetdir;                   %选择任务路径,不可选到式样编号文件夹# |0 x/ \8 m) p" W6 R" r
% FileFolder = fullfile(RootPath);       %选到式样编号文件夹的上一级文件夹即可4 l* e$ k. j" P; c9 u$ _  I  f: m2 A( g
DirOutput = dir(fullfile(RootPath));           %读取式样编号文件名,dir
5 s' ~. e# _6 W6 h4 a. \SimpleName = {DirOutput(3:end).name}';           %函数读出的结果为结构数组,
, c3 E% a$ e' r- ]9 m$ |LenSimFile = length(SimpleName);                                                 %把读到的文件名存为元胞数组
: n1 Q0 {. t' e! S& E/ r  q$ e5 N                                                
% w5 x2 m: t* @7 H4 S2 q9 P%自动批量导入数据  
3 d+ R" E; l$ o$ i- m) ^9 n8 R! b% i
3 ^: R- ^% F% y9 s
for i = 1 : LenSimFile
. |) U3 u2 X" g" N( H    ReadPath(i) = {[RootPath,'\',SimpleName{i}]};8 P+ L+ n2 B" X
    TxtData = importdata([RootPath,'\',SimpleName{i}]);
+ Q0 P  C- C" i) S/ y% J# T    %读取数据
4 K: N  d" `+ S, F/ ]5 Z4 G, `    [DealData{i}] = smoothdata(TxtData);                        
7 q; Q5 T: n1 @2 l9 E( R0 D: z' Lend
; f* s% c& ]! o( R+ h2 \
3 V5 [4 E" @) X%选择路径创建相关文件夹及文件
: m8 e4 G5 r, R3 {% y+ Z4 Z6 [: e) d5 p1 z8 F: H& I, @4 Y
ProtectPath = uigetdir('请选择保存路径');! i0 {& N3 q! K  Q
ProtectPath = [ProtectPath,'\','处理后的数据','\'];2 V8 a1 o( {4 Z
for i = 1 : LenSimFile' X4 y, P: n  w, R
        mkdir(ProtectPath);
8 q; x: |1 K" T        ID = fopen(strcat(ProtectPath,'\',SimpleName{i}),'w+');
# n, ]( K+ o: a* [2 v        fprintf(ID,'%.6f\t%.6f\r\n',DealData{i});& b' |' u; N/ o, @
        fclose(ID);
2 e% P( E$ O; Y6 e' S$ P6 Iend2 m4 K9 N1 e2 M2 Y% q

0 I/ \% {5 i7 ~; s; w* d# i! `
- Y9 Z2 N" z6 p! I* O' Y  |% 说明:1.数据的存放方式为:文件夹\*.txt数据文件,使用是只要选择文件夹即可
4 v: ~7 ^4 g5 H! \# s%      2.数据去噪的处理方法是按第一列升序排列后,按4 w* F8 d0 h4 {4 t9 B+ Y+ c
%      data( i , : ) = (data( i - 3 , : ) +data( i - 2, : )+data( i - 1 , : )+data( i , : )...( M: B* r  u, k# ?6 Z
%      +data( i + 1 , : )+data( i + 2 , : )+data( i + 3 , : ))/7;方式平滑化处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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