• Matlab 读取dat文件(包含几行多余文本,数据带有数字和字符串,且以逗号分隔)


    需要删除前几行多余文本,并去除逗号和最后一列标签项,保存数据

    处理前:

    matlab代码:

    fid = fopen('E:study研究生aackup新ackup数据库ecoli1.dat','rt');
    %FormatString='%f %f %f %f %f %f %f %s';%取前8列数据
    FormatString='%f %f %f %f %f %f %f %*[^
    ]';%取前七列数据,最后一列标签去掉
    % 注意:%*[^
    ] 就是从当前直接跳到行尾。%*是一个跳过符号,表示跳过该位
    N=348;%读取数据的行数
    C=textscan(fid,FormatString,N,'HeaderLines',12,'delimiter',','); %跳过前12行,以逗号为数据的分隔符
    C=cell2mat(C);%cell型数组转换为普通数组
    fclose(fid);
    [r,c]=size(C);
        fid = fopen('E:study研究生aackup新ackup数据库	est.txt', 'wt');%输出dat格式,将txt改一下即可。
        for j=1:r
            for m=1:c
                fprintf(fid,'%4.2f	',C(j,m));%保留两位小数点,包括小数点共4位
            end 
             fprintf(fid,'
    ');
        end 
        fclose(fid);%保存为test文件
    

    输出后txt文件:

    0.49 0.29 0.48 0.50 0.56 0.24 0.35
    0.07 0.40 0.48 0.50 0.54 0.35 0.44
    0.56 0.40 0.48 0.50 0.49 0.37 0.46
    0.59 0.49 0.48 0.50 0.52 0.45 0.36
    0.23 0.32 0.48 0.50 0.55 0.25 0.35
    0.67 0.39 0.48 0.50 0.36 0.38 0.46
    0.29 0.28 0.48 0.50 0.44 0.23 0.34
    0.21 0.34 0.48 0.50 0.51 0.28 0.39
    0.20 0.44 0.48 0.50 0.46 0.51 0.57
    .......

      

      

  • 相关阅读:
    产品中常用理论
    Mac下配置环境变量
    Maven仓库
    深入理解Spring中的各种注解
    JAVA中简单字符串分割
    WARN: HHH000277: Could not bind factory to JNDI
    dos命令窗口下下java命令提示找不到或无法加载主类
    数组实用类:Arrays
    数组
    线程创建方式
  • 原文地址:https://www.cnblogs.com/zhouerba/p/7510940.html
Copyright © 2020-2023  润新知