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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

该用户从未签到

2#
发表于 2022-3-10 13:12 | 只看该作者
本帖最后由 Houseefe 于 2022-3-10 13:14 编辑 , U3 W( f9 W$ f% {( U& l
* g) S7 o) E6 B$ H3 k
数据处理的函数; M( k3 A/ X- I& W
function  DealData = smoothdata(data)! Q1 Z( b; s' k5 T& B
DealData = data(1:end-5,1:20);
  ^1 I$ K( k. ]4 Q0 Uend2 X) ~0 D" e3 q, D( u, [

该用户从未签到

3#
发表于 2022-3-10 13:33 | 只看该作者
clear all
4 N, r" P$ g$ vclc
# O$ |8 d) D# q' j6 s, m8 L/ ^  R, @3 {
%<=============================数据批量导入===============================>%
& B7 B8 T2 S( s. u
$ d* u& W' w5 j- o9 ?6 J+ d6 oRootPath = uigetdir;                   %选择任务路径,不可选到式样编号文件夹$ S! {* Y- i/ x& i2 C
% FileFolder = fullfile(RootPath);       %选到式样编号文件夹的上一级文件夹即可
, n, \4 m2 |* _+ \+ ?$ }DirOutput = dir(fullfile(RootPath));           %读取式样编号文件名,dir2 A2 g( k/ h" h( ~9 `  p8 _
SimpleName = {DirOutput(3:end).name}';           %函数读出的结果为结构数组,' w" C) a- t/ q2 D# B2 o
LenSimFile = length(SimpleName);                                                 %把读到的文件名存为元胞数组: W5 @/ v8 Z% B/ e& o& O: z
                                                
0 A& }. p5 ^/ V/ a) Q* j%自动批量导入数据  ; J: I# f" `! O
6 D2 U6 I: m2 h) e

, O1 Z" P& O5 d! x0 Afor i = 1 : LenSimFile* p# ]( w. a+ x; ?. }/ ]5 u; P
    ReadPath(i) = {[RootPath,'\',SimpleName{i}]};5 Y* ?1 t  v# H) Q
    TxtData = importdata([RootPath,'\',SimpleName{i}]);
3 Z/ G% t/ Y3 x' F: b    %读取数据- N, d5 p5 F5 U
    [DealData{i}] = smoothdata(TxtData);                        4 _, V+ [7 y$ m; _  ^. o
end
+ k# O7 d) g- F) l
8 _& U6 J3 b0 O%选择路径创建相关文件夹及文件% F/ C0 S. r' R. \* ~  k
; ]9 s4 ~) x- V& g# ?
ProtectPath = uigetdir('请选择保存路径');
7 P4 a9 p! i4 P& wProtectPath = [ProtectPath,'\','处理后的数据','\'];
0 p0 r. x" P, K4 F- G+ mfor i = 1 : LenSimFile
" m; t4 E9 m, J, a8 E        mkdir(ProtectPath);- f- d! ^" q( [1 i2 T& G* V0 [* M
        ID = fopen(strcat(ProtectPath,'\',SimpleName{i}),'w+');
: W6 @2 e% H% j. |        fprintf(ID,'%.6f\t%.6f\r\n',DealData{i});
- b- g! l; I8 T/ V8 s        fclose(ID);
5 V% T* C& [; q. S; Xend
2 O5 V% q+ l; I1 S( V* l; \. }; G" b6 a% e7 m9 S: {( q

, r2 Y; G  j# c3 P7 a% 说明:1.数据的存放方式为:文件夹\*.txt数据文件,使用是只要选择文件夹即可/ b2 C5 Y, ]. b" \* ?* {
%      2.数据去噪的处理方法是按第一列升序排列后,按
8 ~2 Y6 B0 b6 x8 C2 J* y%      data( i , : ) = (data( i - 3 , : ) +data( i - 2, : )+data( i - 1 , : )+data( i , : )...
, [( i  M6 c- _/ M3 R" |0 U. A%      +data( i + 1 , : )+data( i + 2 , : )+data( i + 3 , : ))/7;方式平滑化处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-3 12:34 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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