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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
麻烦高手指点一下,一个data文件夹里面有36个txt文件从1到36.txt,需要批量导入matlab工作空间,然后将每个txt文件里提取(1:end-5,1:20)矩阵,然后再保存,怎么代码实现啊?) o( K3 y8 u/ s8 \, B& B3 Q

该用户从未签到

2#
发表于 2022-3-10 13:12 | 只看该作者
本帖最后由 Houseefe 于 2022-3-10 13:14 编辑
: S# I! O, [5 y+ ]0 Q4 j( v' |' x: g, M( f
数据处理的函数. ~! Z; W$ r4 Z# z  A2 I+ p+ l
function  DealData = smoothdata(data)! ?- K( v1 V& U4 [! Q* g  _! e
DealData = data(1:end-5,1:20);+ B6 `; S3 C4 ^* S/ X* w4 ^
end
1 E+ I: |( J8 ^! @: l7 C1 X

该用户从未签到

3#
发表于 2022-3-10 13:33 | 只看该作者
clear all4 t; l' @5 ]8 a  z
clc  A  ~7 O# D" A) ^' J! ~9 I' m

" \1 W9 W4 z; a& a%<=============================数据批量导入===============================>%
- q6 o4 B2 v. V' x6 }& A/ N6 B
: P& z0 l7 U# l/ E! WRootPath = uigetdir;                   %选择任务路径,不可选到式样编号文件夹
" }9 e9 p6 r& G1 d% FileFolder = fullfile(RootPath);       %选到式样编号文件夹的上一级文件夹即可
6 A' I# e: a# D  PDirOutput = dir(fullfile(RootPath));           %读取式样编号文件名,dir
, s- _% f/ W1 J* z' hSimpleName = {DirOutput(3:end).name}';           %函数读出的结果为结构数组,, E: v% u1 \+ f9 i' S
LenSimFile = length(SimpleName);                                                 %把读到的文件名存为元胞数组
3 y3 b  y! g* h7 `1 v8 Y                                                " r! w$ U% d& d! @$ |: b% h5 y* K
%自动批量导入数据  ; I4 `4 d& r3 }8 Y

. A: l+ ^4 \6 N5 j  q7 C$ q1 d1 R8 x9 v! L8 u; `% t. m, H0 y. d: X) |
for i = 1 : LenSimFile
: W! j4 N& m9 Y    ReadPath(i) = {[RootPath,'\',SimpleName{i}]};9 e9 k  ?2 Z+ L; K3 r
    TxtData = importdata([RootPath,'\',SimpleName{i}]);
5 P7 S& [( [- d. R    %读取数据
+ j* R: i$ _# L1 `" h' h9 d( O    [DealData{i}] = smoothdata(TxtData);                        
1 n7 y9 F6 \- J9 U7 ]4 {# Zend" }: `" r' p" C9 q$ R

) x1 h, \$ N9 M%选择路径创建相关文件夹及文件
+ z# B4 d. y6 Q: Q; s" w! N2 q0 ~) m1 I
ProtectPath = uigetdir('请选择保存路径');
4 `' n" c/ Q& U+ iProtectPath = [ProtectPath,'\','处理后的数据','\'];
9 ?, _3 P; @' Q5 D! ?( [for i = 1 : LenSimFile, j* i( G) a9 L5 r
        mkdir(ProtectPath);
7 [0 ^5 l: l4 W2 T4 a" d5 _        ID = fopen(strcat(ProtectPath,'\',SimpleName{i}),'w+');
, B* |6 E. ~* Y8 u9 W- g        fprintf(ID,'%.6f\t%.6f\r\n',DealData{i});
, H1 i  n& F0 B% M        fclose(ID);) W! K1 O  I0 B- q* k, b
end& v1 A6 J! U. ]/ w8 q/ u
7 ^" ^3 }* s% X' T- p. l
. M& Z- X; \) k# c- R7 I7 I- T
% 说明:1.数据的存放方式为:文件夹\*.txt数据文件,使用是只要选择文件夹即可. M9 Y, T7 m3 Y# i  j2 U- l
%      2.数据去噪的处理方法是按第一列升序排列后,按0 K+ X5 l( m) i# E" g4 B
%      data( i , : ) = (data( i - 3 , : ) +data( i - 2, : )+data( i - 1 , : )+data( i , : )...6 W* g* s/ |4 D0 L& X
%      +data( i + 1 , : )+data( i + 2 , : )+data( i + 3 , : ))/7;方式平滑化处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-19 04:52 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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