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

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

处理前:

matlab代码:

fid = fopen(‘E:\study\研究生\a\backup新\backup\数据库\ecoli1.dat‘,‘rt‘);
%FormatString=‘%f %f %f %f %f %f %f %s‘;%取前8列数据
FormatString=‘%f %f %f %f %f %f %f %*[^\n]‘;%取前七列数据,最后一列标签去掉
% 注意:%*[^\n] 就是从当前直接跳到行尾。%*是一个跳过符号,表示跳过该位
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\研究生\a\backup新\backup\数据库\test.txt‘, ‘wt‘);%输出dat格式,将txt改一下即可。
    for j=1:r
        for m=1:c
            fprintf(fid,‘%4.2f\t‘,C(j,m));%保留两位小数点,包括小数点共4位
        end
         fprintf(fid,‘\n‘);
    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
.......

  

  

时间: 2024-10-26 14:03:23

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

matlab读取cvs文件的几种方法

matlab读取CVS文件的几种方法: 1,实用csvread()函数 csvread()函数有三种使用方法: 1.M = csvread('filename')2.M = csvread('filename', row, col)3.M = csvread('filename', row, col, range) 第一种方法中,直接输入文件名,将数据读到矩阵M中.这里要求csv文件中只能包含数字. 第二种方法中,除了文件名,还指定了开始读取位置的行号(row)和列号(col).这里,行号.列号

FPGA笔记-读取.dat文件

读取.dat图像文件 .dat文件是matlab生成的图像文件 initial begin // Initialize Inputs CLK = 0; RST = 1; IMAGE_DATA = 0; BUFFER_WEN = 0; // Wait 100 ns for global reset to finish #10000; RST = 0; #100; RST = 1; // Add stimulus here $display("read image data from exp.dat

Cocos2d-x Lua 读取Csv文件,更方便的使用数据

我的书上或者是我曾经出售的源码里,都有Csv文件的影子. 也许是先入为主吧,我工作那会用的最久的配置文件就是Csv,所以我在很多游戏里都会情不自禁地优先选择它. Csv文件,格式很简单,就是一行一条数据,字段之间用逗号分隔,策划也可以方便地使用Excel进行编辑. Csv格式的文件,解析起来也很简单,所以自己动手写写很快~(小若:我就喜欢拿来主义,你怎么着) 最近在用Lua写游戏,对于技能.怪物等配置,我还是选择用Csv~ 不得不说,Lua等脚本语言,在某些方面是C++没法比的,这次我就用Csv

Matlab 读取excel文件提示服务器出现意外情况或无法读取问题解决

1.问题描述: 该错误通常发生在应用函数读取excel文件(后缀xls或xlsx)时. 应用xlsread函数读取提示服务器出现意外情况: 应用importdata读取时提示can‘t open file: 其他格式如txt文档则可以正常读取. 2.问题解决 该问题与Matlab无关,为Excel端出现了问题.解决方案如下: 步骤:Excel选项——加载项——Com加载项 :去掉VisualStudion相关勾选. 去掉勾选的时候还可能出现“无法更改 中注册的office 加载项的连接状态”的提

python 读取cvs 文件中多行数据

有的时候我们需要去读取多行多列数据 def duqu(): yiyuan = open('yiyuan_id2.csv','r') lines = yiyuan.readlines() yiyuan.close() for line in lines: id = line.split(',')[0] name = line.split(',')[1] print(id,name)duqu() 1.定义读取函数2.定义变量yiyuan,以只读的方式打开文件3.定义变量lines,通过读取多行数据赋

Matlab中如何读取.dat文件

处理movielens1M数据集 中间有个双冒号,直接用load的只读取第一列,这时候我们可以用dlmread(中间是l不是i),如下图,只需要提取1 3 5列就好了.

搜索当前目录下所有文件包含某关键词的文本/文件名/行号

工作中希望通过命令能够找到nginx的一堆conf文件中配置某个域名的conf的文件名:或者找读书笔记里面包含某个关键词的所有读书笔记markdown文档: 或者找到某个公司/作者/演员/tag的所有作品的文章,如果你像我一样,记性很烂,但只是记得某个关键词就想要找到以前的东西,那么看这篇就对了. 这篇文章基于Unix/Linux/MacOS环境,当然windows如果安装bash命令行也是可以的.通过find命令查找当前目录下所有带有某个字符串的文件名以及行号.或者上下文. 通过find命令查

matlab读取csv文件数据并绘图

circle.m(画二维圆的函数) %该函数是画二维圆圈,输入圆心坐标和半径%rectangle()函数参数‘linewidth’修饰曲线的宽度%'edgecolor','r',edgecolor表示边框颜色,r表示颜色参数%'facecolor','b',facecolor表示内部填充颜色,b表示颜色参数function [] = circle( x,y,r )rectangle('Position',[x-r,y-r,2*r,2*r],'Curvature',[1,1],'linewidth

matlab 读取视频文件和摄像头

一.视频的读取和显示 视频数据的读取要用到VideoReader这个函数,按照matlab软件中举的例子,基本流程是在用VideoReader建立一个obj后,采用read函数来读取一帧帧图像,最后用movie函数来放映视频.但是matlab自带的函数读取avi格式的视频时也只能读取那些原始格式的avi,比较局限性.其读取过程可以采用下面2种方法: 先读完,再显示. 即先将视频数据读取到内存的结构体中,然后直接从内存中拿数据来显示,这显示的视频看起来比较流畅,可是一开始把所有数据读入内存的过程所