24小时热门版块排行榜    

查看: 3113  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

jiasen1980

金虫 (正式写手)


[交流] 【讨论】求助Matlab批量读取和处理一个文件夹里的txt文件

现在有一个文件夹 里面有800个的txt文件 文件的名字按照数字顺序从1到800 每个TXT文件内容 共三列数字 每列1000行
,以逗号分隔,我只需要第三列有用数字

现在我想写一个.M文件 批量读取和处理这个文件夹里的txt文件
我是新手,时间又紧,那位虫子帮一下  
送100金币
回复此楼

» 收录本帖的淘帖专辑推荐

MATLAB相关

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hhucy

实习版主 (著名写手)


★ ★
xiegangmai(金币+2): 鼓励讨论交流! 2011-03-09 09:55:35
jiasen1980(金币+40): 2011-03-09 10:56:07
楼上正解
顺便补充一下如何直接load
1.        load
a=load ('x.dat')%读取 *.dat文件;
a=load ('x.txt')%读取 *.txt文件;
2.        importdata
importdata(‘filename’,’delimiter’)
delimiter:是分割符
3.        csvread
通常用来读取逗号分开的数据文件
X=csvread(‘filename’,row,clo,range)
4.        demread
比较通用吧,可以读任何任何其它字符分割的的数据。
Eg:
原来的数据x.txt
a=dlmread('x.txt')

[ Last edited by hhucy on 2011-3-9 at 09:34 ]
4楼2011-03-09 09:31:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答
jiasen1980(金币+40): 2011-03-09 10:55:47
jiasen1980(金币+10): 2011-03-09 11:26:39
引用回帖:
Originally posted by jiasen1980 at 2011-03-09 02:02:08:
现在有一个文件夹 里面有800个的txt文件 文件的名字按照数字顺序从1到800 每个TXT文件内容 共三列数字 每列1000行
,以逗号分隔,我只需要第三列有用数字

现在我想写一个.M文件 批量读取和处理这个文件夹里的 ...

纯数据txt文件,直接load就可以了。

写了个简单的例子,先写了8个文件,每个文件中存取1000*3的随机数。
然后读取这8个文件,将每个文件中的第三列存到矩阵A中。
CODE:
function batchWriteReadTxt

% 文件数
TxtFileNum = 8;

% 写数据文件
for i = 1 : TxtFileNum
        % 构造文件名字符串
        FileName = sprintf( '%s.txt', num2str( i ) );
        % 以写方式创建文件
        fid = fopen( FileName, 'w' );
        % 如果创建文件成功
        if fid > 0
                % 生成随机数
                A = rand( 1000, 3 );        % 1000行,3列
                % 写数据
                fprintf( fid, '%10.4f, %10.4f, %10.4f\r\n', A );
                % 关闭文件
                fclose( fid );
        end
end

% 初始化数据,将每个文件中的第三列存为1列,1000行
A = zeros( 1000, TxtFileNum );
% 读文件
for i = 1 : TxtFileNum
        % 构造文件名字符串
        FileName = sprintf( '%s.txt', num2str( i ) );
        % 纯数据文件,直接load就可以
        data = load( FileName );
        A( :, i ) = data( :, 3 );       
end

3楼2011-03-09 09:30:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

justyet

金虫 (著名写手)


jiasen1980(金币+8): 2011-04-01 22:43:24
楼主问的是 “批量读取和处理一个文件夹里的txt文件 ”

namelist  = dir('*.txt');
然后看一下namelist 的长度,就知道有几个文本文件了,再然后就是通常的那些load,矩阵操作之类的。
6楼2011-04-01 17:52:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yueyue_2013

金虫 (小有名气)



小木虫: 金币+0.5, 给个红包,谢谢回帖
我也补充一点点
1.        load
a=load ('x.dat')%读取 *.dat文件;
a=load ('x.txt')%读取 *.txt文件;
2.        importdata
importdata(‘filename’,’delimiter’)
delimiter:是分割符
3.        csvread
通常用来读取逗号分开的数据文件
X=csvread(‘filename’,row,clo,range)
4.        demread
比较通用吧,可以读任何任何其它字符分割的的数据。
Eg:
原来的数据x.txt
a=dlmread('x.txt')
8楼2014-01-14 09:06:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
2011-03-10 22:33   回复  
引用回帖:
Originally posted by jiasen1980 at 2011-03-09 02:02:08: 现在有一个文件夹 里面有800个的txt文件 文件的名字按照数字顺序从1到800 每个TXT文件内容 共三列数字 每列1000行 ,以逗号分隔,我只需要第三列有用数字 现在我想写一个.M文件 批量读取和处理这个文件夹里的 ...

普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 让我中一个面上吧! +4 大萍1987 2026-08-20 4/200 2026-08-20 20:22 by ran2233
[基金申请] 时间戳又变了 +12 wuchongjun 2026-08-20 17/850 2026-08-20 20:05 by spzhao
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 放榜前的不淡定 40+3 snowwithsea 2026-08-19 12/600 2026-08-20 15:56 by lfy8008
[基金申请] 言之凿凿,明天官网会通知放榜? +14 医学老男孩 2026-08-20 16/800 2026-08-20 15:47 by LNP@mRNA
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 今天基金会出结果吗?20260819 +14 kkkl_v 2026-08-19 15/750 2026-08-20 08:21 by sunzitan
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜没戏了吧 +4 yuleib84 2026-08-19 5/250 2026-08-19 19:52 by hhs666
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] filecode=后面第一个是大写字母 +10 wangze12014 2026-08-14 12/600 2026-08-19 16:56 by 苦难博士
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
信息提示
请填处理意见