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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

该用户从未签到

2#
发表于 2022-3-10 13:12 | 只看该作者
本帖最后由 Houseefe 于 2022-3-10 13:14 编辑
& ?' {5 s' ~4 L) h  I* w8 I. J/ Y  [6 J* z! t
数据处理的函数" Q& m9 c% v0 n6 @1 L8 G) p
function  DealData = smoothdata(data)4 ?" g! a' ^- n5 S7 H8 R
DealData = data(1:end-5,1:20);
2 R' L& m6 o! yend# G* `# Q( a/ S2 ^

该用户从未签到

3#
发表于 2022-3-10 13:33 | 只看该作者
clear all, R( a( l8 r: J# P( j0 I6 I
clc
! ^: J1 A- N' ~1 t% o! L4 \7 m
9 O0 r, j1 d; ^& ]. U- q%<=============================数据批量导入===============================>%
1 X* n( q  i% A) D* |$ S- D
. U! m& W" g& Y2 ]' d4 l7 WRootPath = uigetdir;                   %选择任务路径,不可选到式样编号文件夹! H: V, j; {3 v& q
% FileFolder = fullfile(RootPath);       %选到式样编号文件夹的上一级文件夹即可' S0 C# I7 Q1 z. }! m, V9 X1 R
DirOutput = dir(fullfile(RootPath));           %读取式样编号文件名,dir( b, i' ]6 ^0 Z* W8 r% v
SimpleName = {DirOutput(3:end).name}';           %函数读出的结果为结构数组,, l7 e+ c' l; S; Q6 e3 b' B
LenSimFile = length(SimpleName);                                                 %把读到的文件名存为元胞数组
7 k+ q0 |8 r% i$ g8 R                                                * @' C9 W. f' g; G8 `
%自动批量导入数据  . e- u7 \$ e/ ^) k) u/ M

( g6 h; ?( Q; a3 [/ `. }5 P
- W7 P; A9 v# c, }for i = 1 : LenSimFile/ q; M+ z2 l8 v4 g5 w8 s
    ReadPath(i) = {[RootPath,'\',SimpleName{i}]};( K( T7 k* S8 z8 e* e! T: x3 Y
    TxtData = importdata([RootPath,'\',SimpleName{i}]);
2 C7 G) X  Q6 a9 o' M% q    %读取数据
$ E5 S; c( Q: J7 O) w( \% R8 ]    [DealData{i}] = smoothdata(TxtData);                        
8 e- P; F: n4 J% Z1 T) O8 _) Oend' W0 j: A; [1 p& t0 M
( A/ g8 W1 G0 J
%选择路径创建相关文件夹及文件
* O  s6 w8 X! R
" A3 ?) K/ z9 V; t. j5 h) SProtectPath = uigetdir('请选择保存路径');
9 S. y; n9 n- rProtectPath = [ProtectPath,'\','处理后的数据','\'];
' u5 M3 q$ M2 W) ?' hfor i = 1 : LenSimFile
  n: U4 z+ {1 w. b( ~        mkdir(ProtectPath);% Z' S' B" x1 w# z* I* t6 D+ f  g
        ID = fopen(strcat(ProtectPath,'\',SimpleName{i}),'w+');% n6 y( K) G8 u& F* `
        fprintf(ID,'%.6f\t%.6f\r\n',DealData{i});
, h+ w( E  O6 r; n# l        fclose(ID);
0 g+ B; P" }; H- g7 _. Eend
5 H' U  {6 z7 N" l2 l! m( E5 s
5 z4 j8 |9 R( E* Q
8 }9 P3 s% A7 f3 `0 _2 B# e0 I% 说明:1.数据的存放方式为:文件夹\*.txt数据文件,使用是只要选择文件夹即可
0 f1 \5 D# J  q%      2.数据去噪的处理方法是按第一列升序排列后,按6 E& l- X  M5 \  c# \& M' y4 B; h8 r) l
%      data( i , : ) = (data( i - 3 , : ) +data( i - 2, : )+data( i - 1 , : )+data( i , : )...
" d. U9 b- p0 @( Z%      +data( i + 1 , : )+data( i + 2 , : )+data( i + 3 , : ))/7;方式平滑化处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-5-28 21:41 , Processed in 0.093750 second(s), 24 queries , Gzip On.

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

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

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