24小时热门版块排行榜    

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

jiasen1980

金虫 (正式写手)


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

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

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

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

MATLAB相关

» 猜你喜欢

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

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

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
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的回帖
相关版块跳转 我要订阅楼主 jiasen1980 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见