找回密码
 注册
查看: 241|回复: 2
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
麻烦高手指点一下,一个data文件夹里面有36个txt文件从1到36.txt,需要批量导入matlab工作空间,然后将每个txt文件里提取(1:end-5,1:20)矩阵,然后再保存,怎么代码实现啊?8 ]1 f  G; [, H0 |- Z

该用户从未签到

2#
发表于 2022-3-10 13:12 | 只看该作者
本帖最后由 Houseefe 于 2022-3-10 13:14 编辑 - O7 I, d+ }2 f; r( r' q: n! B
9 I  t# n( X9 G( n
数据处理的函数
2 @' N+ I# @% L0 ?1 F' G$ cfunction  DealData = smoothdata(data); X( @4 X  v& _: w  c2 m5 Q3 m
DealData = data(1:end-5,1:20);) P( y3 t. R- |' o0 q
end
& D, E; r# A# F8 l  @0 b1 ]6 A

该用户从未签到

3#
发表于 2022-3-10 13:33 | 只看该作者
clear all0 U9 t3 b% _! Z
clc
; a" |! a- E2 b% W: f- E; x3 l% S# C1 k: X+ Y- M2 ^
%<=============================数据批量导入===============================>%3 F% Q( T6 p; d; M

8 E3 N1 F# ~0 f: N! jRootPath = uigetdir;                   %选择任务路径,不可选到式样编号文件夹
2 ]! ]6 Z" D" y' y% FileFolder = fullfile(RootPath);       %选到式样编号文件夹的上一级文件夹即可
7 W# g4 D& Q0 O8 i  w! kDirOutput = dir(fullfile(RootPath));           %读取式样编号文件名,dir
3 d' S# v1 e3 \# Q8 H' qSimpleName = {DirOutput(3:end).name}';           %函数读出的结果为结构数组,
; H5 V: K2 L7 G/ ?6 K) D- XLenSimFile = length(SimpleName);                                                 %把读到的文件名存为元胞数组. s2 Q9 T+ x8 F/ t1 w- Z6 P
                                                
# ]5 d! ^. j  T/ q$ R%自动批量导入数据  / B9 t' u2 |) Y% r; }) ~& L: G- h
9 H' t2 X* b1 J, [
+ B0 D3 x8 j2 |; ?1 K
for i = 1 : LenSimFile8 w+ j) S2 s6 r3 p+ L3 y2 A5 L. J
    ReadPath(i) = {[RootPath,'\',SimpleName{i}]};5 u: Q( ]1 }, D
    TxtData = importdata([RootPath,'\',SimpleName{i}]);
7 f  m" @1 H- u. v, t' W  P1 S    %读取数据
1 Y( Y$ z2 T% y/ S, p    [DealData{i}] = smoothdata(TxtData);                        
- b0 j/ d0 Q2 _* K* Z! G# Kend3 z) c7 w# k3 @. g# J: r' T

5 h# G; S( a# K/ N0 k& j: I9 o4 V%选择路径创建相关文件夹及文件- R3 n8 u* r5 ]5 |9 e) c

$ d4 @, o/ W5 |( e3 @ProtectPath = uigetdir('请选择保存路径');
7 j# X6 b! R' W0 ~% y$ j8 I8 FProtectPath = [ProtectPath,'\','处理后的数据','\'];
# t( k0 y  [" y- H) efor i = 1 : LenSimFile
* m5 K: `7 D3 D3 N9 Y" t        mkdir(ProtectPath);7 N+ }$ b. x' k% G( w' Q
        ID = fopen(strcat(ProtectPath,'\',SimpleName{i}),'w+');( X2 h, [5 T' I; a( ]+ E
        fprintf(ID,'%.6f\t%.6f\r\n',DealData{i});
7 r# c# Q9 p3 X  A        fclose(ID);
9 H4 ~$ o- d; a: ]/ Pend
4 s/ B; f! X5 v
$ N7 p- u' X# L) n$ F) O* G+ ]% x) r1 q
% 说明:1.数据的存放方式为:文件夹\*.txt数据文件,使用是只要选择文件夹即可
/ Z; o  c5 U2 m% b%      2.数据去噪的处理方法是按第一列升序排列后,按' T! Q# V( K/ z9 I
%      data( i , : ) = (data( i - 3 , : ) +data( i - 2, : )+data( i - 1 , : )+data( i , : )...
. E7 d3 d/ C! P7 F" S%      +data( i + 1 , : )+data( i + 2 , : )+data( i + 3 , : ))/7;方式平滑化处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-1 05:05 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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