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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

该用户从未签到

2#
发表于 2022-3-10 13:12 | 只看该作者
本帖最后由 Houseefe 于 2022-3-10 13:14 编辑
$ S) P2 o0 h% d6 \2 r* L6 Y0 t9 x/ u, C3 j
数据处理的函数" S$ Z( V: j) t
function  DealData = smoothdata(data)( z- g1 k; }& ?
DealData = data(1:end-5,1:20);" j4 b- W( x" t7 T, c7 a
end+ {) \! l% e& ~# }: ]! F% r3 }% m

该用户从未签到

3#
发表于 2022-3-10 13:33 | 只看该作者
clear all
, H+ v6 ~; D6 C( ?- m* Rclc
! ?' U8 _# Z5 J% }4 u( w. N
* l; g& g' |$ h1 r, R* M+ _% N%<=============================数据批量导入===============================>%1 d$ J6 M' N+ }3 K$ _( w: N

; N% P* l6 D6 l& KRootPath = uigetdir;                   %选择任务路径,不可选到式样编号文件夹- E" I  L. `# w* b
% FileFolder = fullfile(RootPath);       %选到式样编号文件夹的上一级文件夹即可
5 K& ?' b3 ?$ j! ]3 v8 TDirOutput = dir(fullfile(RootPath));           %读取式样编号文件名,dir: p/ @/ X5 v! |! N# h1 W; B* L
SimpleName = {DirOutput(3:end).name}';           %函数读出的结果为结构数组,( h" W: R- M& P" C1 \$ t
LenSimFile = length(SimpleName);                                                 %把读到的文件名存为元胞数组" n: ]' M, C+ @& d4 s
                                                
" ?# a% ~3 A! \/ _* s8 J0 F%自动批量导入数据  - z) o8 Y) X% O* }5 A5 N9 w

7 V7 H4 ~; \. S- q- K* ]7 ^4 x5 R' X1 o2 z) V
for i = 1 : LenSimFile" N# ]0 X- R3 G3 e  c" Z
    ReadPath(i) = {[RootPath,'\',SimpleName{i}]};3 ^/ |' d* a% \; m/ {  T3 D# I
    TxtData = importdata([RootPath,'\',SimpleName{i}]);4 F/ a: X: E4 R& ~3 e
    %读取数据) v! u7 d+ d( _
    [DealData{i}] = smoothdata(TxtData);                        6 M7 W. S1 a. o5 a1 H+ H
end" [4 r* F) E  z) |4 d
8 Q/ }# n* X/ b0 I$ ~
%选择路径创建相关文件夹及文件
! `) N; L2 s$ v* z% o5 Y3 \. ]( Q. o- u0 g" K( [! n
ProtectPath = uigetdir('请选择保存路径');' K, g" z  o% ]# Y; A
ProtectPath = [ProtectPath,'\','处理后的数据','\'];
9 y! b6 }- [9 k- `: M1 qfor i = 1 : LenSimFile+ t' j7 n- Q) f9 m& H4 [
        mkdir(ProtectPath);
/ I) n8 b! _0 ?: O8 b% x        ID = fopen(strcat(ProtectPath,'\',SimpleName{i}),'w+');1 V% ~# i# ^* V
        fprintf(ID,'%.6f\t%.6f\r\n',DealData{i});
2 E7 s" p  M7 I* `- X$ H: L        fclose(ID);
4 S6 a, w# u1 F4 l, d. Y* g" R; @end
* R* b$ U; j7 v
3 t3 E6 Q& @: ]3 v; h* j. p( o4 ~* t$ f
% 说明:1.数据的存放方式为:文件夹\*.txt数据文件,使用是只要选择文件夹即可
  @% j. I1 |1 y%      2.数据去噪的处理方法是按第一列升序排列后,按
; m! N' G4 x6 X4 r8 Y: o%      data( i , : ) = (data( i - 3 , : ) +data( i - 2, : )+data( i - 1 , : )+data( i , : )...
# R- H# z9 j* l- J  k- N%      +data( i + 1 , : )+data( i + 2 , : )+data( i + 3 , : ))/7;方式平滑化处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-5-30 14:51 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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