matlab跳过十行读取headerlines

作者&投稿:住悦 (若有异议请与网页底部的电邮联系)
~ 热门频道

首页

博客

研修院

VIP

APP

问答

下载

社区

推荐频道

活动

招聘

专题

打开CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved

读取文件
打开APP

MATLAB读取列数不一致的文件(1、跳过前面N行数据,2、读取每行列数不同数据) 原创
2019-06-26 10:18:27
12点赞

阿GEM是我的

码龄5年

关注
MATLAB常见的读取加载数据文件都是用load 、importdata之类比较多,该类方法多局限于文件数据每一行的列数都是相等的;

但是如果遇到的数据文件前面N行数据是英文或中文,剩下的是列数相等的数据,那这类导入方法有点不行了,例如数据文件长这样:

我们要读取的是后面列数相同的浮点型数据,保存在一个矩阵中,需要跳过前面11行数据(这是一个点云文件,pcd格式),代码和结果如下:

TrFid = fopen(TrPath,'r'); % 路径
FormatString='%f %f %f %*[^\n]'; % 读取数据的类型
% 参数依次是 文件、数据类型、读取行数(可选)、跳过前面11行数据、空格为数据分割符
Ctr = textscan(TrFid, FormatString, NUM, 'HeaderLines', 11, 'delimiter', ' ');
Ctr = cell2mat(Ctr); % 转矩阵
fclose(TrFid);

当我们不需要跳过前面的N行数据,只是每一行的列数不一致,需要分开读取每一行并将每一行数据保存在单独的数组中,如数据文件长这样:

代码和结果如下:

% matlab读取不同列的数据
clc;clear all;
str = 'D:\VS_Files\Lidar\Project2\cloud_point\train_sample\RGB_dataset_pcd\test.txt';
fid = fopen(str);
while ~feof(fid) % 判断有没有到文件结尾
tline = fgetl(fid); % 每读取完一行数据后,自动地位到下一行
a = str2num(tline)
if isempty(tline) % 判断该行是否为空
continue
end
end
fclose(fid);

点击阅读全文
打开CSDN APP,看更多技术内容

matlab读取不同文件文件,Matlab – 读取不同行长的文件
虽然如果您的文本文件中没有任何零值,Divakar的答案仍然有效,但通常情况并非如此.例如,如果您的文本数组是1 2 34 05 6 0 7 8然后Divakar的结果将是:1 2 3 nan nan4 nan nan nan nan5 6 nan 7 8而你真的想要:1 2 3 nan nan4 0 nan nan nan5 6 0 7 8实现这一点的最简单方法是打开dlmread函数(只需在文...
继续访问
【matlab】对每一行数据不等的txt文件读取问题
文件读取方法 目标:读取每一行数字数目不同的纯文本文件。形如: 9 2 8 9 7 3 4 6 8 9 0 0 2 8 7 4 0 1 6 0 0 8 0 2 7 4 4 6 2 8 0 2 7 8 0 2 6 8 0 2 0 5 0
继续访问
热门推荐 MATLAB数据导入(importdata函数)
编写程序时,有时需要从外部读入数据,这里介绍用importdata函数把数据导入MATLAB的方法。 1.加载和显示图像文件 在MATLAB中建立一个脚本文件,内容如下: filename = 'ming.png'; A = importdata(filename); image(A); 运行该文件,MATLAB显示出图像文件。 **注意:**该图像文件必须保存在当前目录。 2. 导入文本文件...
继续访问
matlab从第N行开始读取dat数据
遇到了这样的一个问题,在matlab中要读取下面dat文件中的数据存到数组中。 但是,最前面的一行是数据提示语,例如第一列的rcs代表下面的数据是雷达目标的rcs,第二列的fre代表其对应的频率。我们要读到matlab中要进行处理的数据当然不包括第一行的rcs和fre。所以怎么跳过第一行直接读后面的呢? 尝试过load和fscanf函数,好像都不行。最后找到了一个textscan函数可以实现这个目的。下面是代码以及运行结果: clc;clear;close all; fid=fopen('rcs.dat'
继续访问
matlab 行 读取文件 跳过_Matlab读取TXT文件并跳过中间几行的问题!!
#!MLF!#"*/group1.rec"011300000sil-3797.347412SENT-START1130000011600000dh-156.719879the1160000011900000ax-208.4651641190000011900000sp-1.2039731190000012500000ih-482.5331...#!MLF!#"*/group1.rec"0 1130...
继续访问
matlab读取列数不同的txt文件
文章目录背景用textread或dlmread函数参考 背景 matlab读取列数不同的txt文件,一般只能读取里面是数字的txt文件,而且一般用load('a.txt'); 但当txt文件里每行的数字不同时,就不能用load函数了,会报错: 用textread或dlmread函数 当txt文件是每行的数字不一定相同的文件时: 则使用代码: textread('二机五节点数据.txt') 或...
继续访问

MATLAB读取文件夹下的多个TXT文件,并将长度不一致的数据按顺序写入到Excel对应各列中
MATLAB读取文件夹下的多个TXT文件,并将长度不一致的数据按顺序写入到Excel对应各列中 clear clc %% mydir = '包含多个TXT的文件夹'; if mydir(end) ~= '/' mydir = [mydir, '/']; end dirs = dir([mydir, '*.txt']); %扩展名 dirs = struct2cell(dirs)'; ...
继续访问
matlab怎么批量删除文件中的前几行_教程合集 | python文件读写
叮铃铃!中国假期管理局提醒您,国庆假期还有3天余额。节前立下的FLAG都实现了吗?有在好好学习吗(反正小编的FLAG是倒了一片)。Python以库闻名天下,然而名目繁多的库却让小白同学们常头昏脑涨不知如何选择。今天跟着小编一起梳理一下都有哪些库可以读写文件吧!让假期不再虚度~1.Python自带方式 Python自带的文件打开函数是open及with open,使用方式为:...
继续访问

matlab 行 读取文件 跳过_MATLAB读取列数不一致的文件(1、跳过前面N行数据,2、读取每行列数不同数据)...
MATLAB常见的读取加载数据文件都是用load 、importdata之类比较多,该类方法多局限于文件数据每一行的列数都是相等的;但是如果遇到的数据文件前面N行数据是英文或中文,剩下的是列数相等的数据,那这类导入方法有点不行了,例如数据文件长这样: 我们要读取的是后面列数相同的浮点型数据,保存在一个矩阵中,需要跳过前面11行数据(这是一个点云文件,pcd格式),代码和结果如下:TrFid = f...
继续访问

mac系统python读取文件_0112编程-windows和mac的python文件读写编码
在python编程中,苹果macOS(linux、unix..)的系统默认文件数据读写编码是utf-8,而windows系统默认是gbk。所以很多在mac中正常运行的with open...却可能在mac下出错。下面是mac和win的几个对比:读取所有文件列表macOSimport osfiles=os.listdir('/Users/zhyuzh/Desktop/Jupyter/tutor/jo...
继续访问
MATLAB中的cumsum()函数 计算一个数组各行的累加值
matlab中cumsum函数通常用于计算一个数组各行的累加值。在matlab的命令窗口中输入doc cumsum或者help cumsum即可获得该函数的帮助信息。 格式一:B = cumsum(A) 这种用法返回数组不同维数的累加和。 如果A是一个向量, cumsum(A) 返回一个向量,该向量中第m行的元素是A中第1行到第m行的所有元素累加和; 如果A是一
继续访问
Matlab从txt第二行开始读,MATLAB小技:从文本数据第n行开始读取
因为文本数据中第一行会有留白,很多人介绍的方法都是手工删除前面的空白或空白和文字。个人觉得比较麻烦.其实如果在MATLAB中可以用textread命令来控制从第N行开始读取数据。比如输出的原始数据,第1行是空白数据,第2行是数据名称,第3行是空白行,而有用数据是从第4行开始,如下所示:---------------------------------------------------------...
继续访问
最新发布 基于MATLAB的微分方程的定步长与动步长算法对比解法(附完整代码)
目录 一. 四阶定步长Runge-Kutta算法 二. 四阶五级Runge-Kutta-Felhberg算法 三. 微分方程求解函数 3.1 求解格式 3.2 描述微分方程组 例题1 例题2 一. 四阶定步长Runge-Kutta算法 令h代表计算步长,该算法的主题思想如下: 下一个步长的状态变量值,可计算如下: 形成MATLAB代码如下: function [tout,yout]=rk_4(odefile,tspan,y0) %y0初值列向量 t0=tsp...
继续访问

五种matlab读取excel文件方法
读取excel文件的五种方式: readcell(filename),以cell(元胞数组,注:访问cell元素用{ })格式导入所有信息,空格被识别为missing。用strcmp(class(references{2,3}),'missing')来判定,若为1,则说明为空。最省事的方法。 [NUM,TXT,RAW]=xlsread(filename) NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据。一般情况下,我们直接用reference=xlsread('exa
继续访问
matlab读取txt数据文件
一、load()函数 load函数适合读取纯数据文本 例子,data_txt.txt内容如下: 0    1.000000    2.000000    3.000000 1    3.000000    4.000000    5.000000 2    6.000000    7.000000   8.000000 3   9.000000    10.00000   11.00000 读取代码如下: %对于类似的txt文件,不含有字符,只有数字 data=load(‘data_tx...
继续访问
matlab 行 读取文件 跳过_matlab中textscan跳行使用
Matlab的textscan指令2010-03-0211:33:10最近在玩学长给的一个资料档,里头有文字和数据混何在一起,要用Matlab来读取.要是以前的话,大概就很笨的用手动的方式把文字去掉,再让Matlab来读.不过最近才发现Matlab7的一个新指令textscan可以很方便的协助读取文字档中的字串与数据矩阵.利用这个指令很快的就完成读取文字档中数个不同大小的数字矩阵了.textsc...
继续访问
matlab读取不规则txt文件,如何读取数据不规则的ascii/txt文件?
ETASAsciiItemFile record CrLf TabsampleCount 196951time sVcScIn_v_VehSpdLgt\ETKC:1 sVcDtcAtr_n_IsgCrSh\ETKC:1 sVcEc_n_Eng\ETKC:1 sVcVmcEm_X_SocH...
继续访问
2021-06-02 matlab自动选取步长的复化梯形求积算法代码及自学笔记
matlab自动选取步长的复化梯形求积算法代码及自学笔记 思想:用梯形面积近似积分面积,自动划分积分区间(将区间逐次二分),直到误差小于给定的误差限eps 首先,将给定区[a,b]进行n等分,得到n+1个节点(k=0,1,2...n),利用公式(1)计算梯形面积和近似等于函数积分,需要计算函数在n+1个节点处的函数积分f(); 将求积区间再次二等分,得到2n+1个节点,新增n个节点,记二分前的某个区间为[,],(k=0,1,2...n-1),对该区间进行二等分,新增节点为=(+)/2,(k=0,1,2
继续访问
matlab中load加载报错:错误使用 load ASCII 文件 E:\毕业设计\data\Untitled3.m 的第 3 行中的列数必须与前面行中的列数相同。
之前在网上找了很久关于这个load加载报错的,百度说的什么方法都试了一遍,发现还是不行,于是去请教了学长,终于把这个问题解决了。因为我处理的数据时蛋白质序列的,需要两个参数,所以就这样解决了: 把cell类型的用P_test变量代替,具体的原理我也是不懂的哈。其实P_test是一个变量,然后保存你要的两个数据,最后再加载就可以了。有知道原理的可以告诉我一下啊,希望对大家有用! ...
继续访问
解决Matlab中reshape报错:栅格影像行列数不一致的问题
今天在用Matlab做栅格数据偏相关分析的时候,遇到了如下问题: 参考此回答,可以了解reshape的用法 打开ArcGIS,查看两数据的行列数,果然不一样: 解决方法: 将列数多的影像按列数少的位边界提取,借助批量掩膜工具(工具箱来自ZHOU-LONG) 下载地址: https://download.csdn.net/download/qq_33356563/11020148 ...
继续访问

MATLAB
读取文件
列数不一致
写评论

1

47

12



分享

前往


齐河县15281011779: asp.net用从数据库读取一个字段content,默认10行,分页怎么写,最好用Linq,其它也行 -
扶背信康: 第一种:List listContent = new List(); var varSite = (from s in cdc.Content where s.SId == intSid orderby s.CCreateTime descending select s); listContent = varSite.Skip(intPageSize*(intPageIndex-1)).Take(intPageSize).ToList(); 分页其中,...

齐河县15281011779: linq to sql 查询语句,怎么限制查询结果的数量 -
扶背信康: .Skip(10).Take(10),跳过前面10条取10条记录,一定要排序才能用

齐河县15281011779: 极光世界里巫师转成什么好点?目前有个木老虎 -
扶背信康: 木老虎用处已经不大了,而且不要因为法宝影响转职,法宝只是辅助的.大部分转祭祀,因为祭祀对装备要求比较低,一般都当奶妈使,而且pk很不错,很能磨.鬼巫功高,而且最...

齐河县15281011779: 广州配资网擅长配资吗?了解过没?
扶背信康: 您说的这个应该还行吧,不过我知道的优速配资做的很专业.平台非常的正规.还能有效的规避风险,实力挺强的.所以这个品牌还是很信得过的.

齐河县15281011779: 二五把门不让过,三六今期红红火.应该是什么数字.求解释 -
扶背信康: 9.倾盘大雨连日来,万丈高楼从地立.天南地北各一方,二五把门不让过.这首诗表达了对国家重获统一的喜悦之情,表现了诗人的政治历史观点:山川天险不足恃,不修政治,不惜民命,必然覆亡.也就是不让外来的文化进来,把着门不开放,这样肯定是不行的.三六今期红红火打一数字是9..火代表数字9,因为本题火中的文字火的谐音是活,活的笔划数是9,数字9的大写是九,进而言之,带火、活和九的成语有热火朝天,水深火热,生龙活虎,活蹦乱跳,死马当活马医,自作孽不可活,九牛二虎之力,九死一生,八九不离十,一言九鼎,十拿九稳,行百里者半九十,九牛一毛,三教九流等,综上所述,火代表数字9.

齐河县15281011779: 以下程序运行时,若从键盘输入:10 20 30<回车>,输出的结果是 【 】 -
扶背信康: %后的*是附加说明符,表示跳过他相应的数据,所以忽略20,即i=10,j=30,k=o 答案为 10 30 0

齐河县15281011779: 如何从 Ubuntu 14.10升级到Ubuntu 15.04 -
扶背信康: 输入如下命令:sudo do-release-upgrade -d

齐河县15281011779: *file[j]是什么 -
扶背信康: int *file[10]; int j=5; int c,d; file[j] = c = *file[j]; //取指针指向的对象的...

齐河县15281011779: 请解释下下面代码的功能,最好把每行的功能都写出还有最后的结果 -
扶背信康: #include <stdio.h> main() { int a=5,i=0;//a为5 i为0 char s[10]="abcd";//s为"abcd" printf("%d %d\n",1<a<3,!!a);//1<a<3,1<a=5,为真,则1<a结果就是true,然后true<5为真,最终结果为true,a为5,非a为false, 则非非a就是非false,为真,...

齐河县15281011779: 我要孔子的成语 -
扶背信康: 太多了啊~~比如说1见贤思齐2慎终追远3举一反三4温故知新5见义勇为6怨天尤人

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网