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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
麻烦高手指点一下,一个data文件夹里面有36个txt文件从1到36.txt,需要批量导入matlab工作空间,然后将每个txt文件里提取(1:end-5,1:20)矩阵,然后再保存,怎么代码实现啊?! n' H  V! w- b) {+ _7 j4 u" V* [

该用户从未签到

2#
发表于 2022-3-10 13:12 | 只看该作者
本帖最后由 Houseefe 于 2022-3-10 13:14 编辑
3 x9 _* j- R& R% R% h
9 r* X) A+ m8 \数据处理的函数
. ?, g; B/ x+ i0 E: ~function  DealData = smoothdata(data)7 I5 U+ k6 L$ ^
DealData = data(1:end-5,1:20);
! O) Y1 y  p9 @( `) O  nend
# `& ~5 K5 X, T

该用户从未签到

3#
发表于 2022-3-10 13:33 | 只看该作者
clear all! u, j& X; \- C7 H, d0 m6 T; L/ x
clc( m; v& D1 ~1 Y7 e

: L: ]5 D! L/ R+ ^%<=============================数据批量导入===============================>%
5 S5 [, d. U. g& N  N/ v" K+ z
RootPath = uigetdir;                   %选择任务路径,不可选到式样编号文件夹7 m3 x8 ~6 X+ y! [$ `4 t
% FileFolder = fullfile(RootPath);       %选到式样编号文件夹的上一级文件夹即可
4 e! P: ^0 a( r, J! KDirOutput = dir(fullfile(RootPath));           %读取式样编号文件名,dir
) R2 H' a5 D2 T% @( k/ uSimpleName = {DirOutput(3:end).name}';           %函数读出的结果为结构数组,
- j( X. Q- q6 k% J8 VLenSimFile = length(SimpleName);                                                 %把读到的文件名存为元胞数组: \0 U; P. G$ c+ I2 m% z
                                                5 _9 m4 {6 h$ ?, I- H
%自动批量导入数据  
2 z4 t! V' C$ }/ i# y, F( P5 o% T; Z; ?* L
" B8 y4 j* j6 g6 ^5 ~
for i = 1 : LenSimFile) ]8 o  J# F# }1 U* I
    ReadPath(i) = {[RootPath,'\',SimpleName{i}]};4 E& ]/ A/ G9 ~
    TxtData = importdata([RootPath,'\',SimpleName{i}]);
: T) F# T) g2 F8 g( R' ~$ [6 s    %读取数据
4 g2 _6 z, H4 V    [DealData{i}] = smoothdata(TxtData);                        
& M7 r0 X( _; O$ G2 Y2 o3 C- x! M- Yend
& ~' D% l3 `7 K1 d1 d$ e9 L( m9 z! h* U
%选择路径创建相关文件夹及文件' X1 Q( u* g, g! s% {$ M
/ z6 L. k2 h3 U
ProtectPath = uigetdir('请选择保存路径');
+ S) H( a+ ?( EProtectPath = [ProtectPath,'\','处理后的数据','\'];3 u8 ?. Y6 {1 T0 `! I
for i = 1 : LenSimFile
' u3 d8 J& n5 A  t  [0 [        mkdir(ProtectPath);
; L$ y6 C* c4 H, v, g" Z0 V0 |        ID = fopen(strcat(ProtectPath,'\',SimpleName{i}),'w+');
! e& u/ M5 P. L9 p4 \3 @        fprintf(ID,'%.6f\t%.6f\r\n',DealData{i});
! J; I* E$ u/ C$ h* C        fclose(ID);4 W4 ]0 w7 }; z: f' D5 o
end/ \' o' n1 `, {$ h
, _' N$ D' c1 h
! _- X9 r0 f- U
% 说明:1.数据的存放方式为:文件夹\*.txt数据文件,使用是只要选择文件夹即可; J+ W: l  x; i2 X- V1 M3 ?
%      2.数据去噪的处理方法是按第一列升序排列后,按
! ~" W5 t0 G" {3 c* E" E2 W& g- E%      data( i , : ) = (data( i - 3 , : ) +data( i - 2, : )+data( i - 1 , : )+data( i , : )...
4 d9 S$ F3 v' P0 B3 F/ ^%      +data( i + 1 , : )+data( i + 2 , : )+data( i + 3 , : ))/7;方式平滑化处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-28 23:34 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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