matlab里读取txt文件里指定列怎么办_matlab读取音频文件

matlab里读取txt文件里指定列怎么办_matlab读取音频文件问题描述:想读取一个txt文本中的很多数据。数据之前有几行是中文,然后才是数据,如何用MATLAB读取txt文件中标识符所对应的列啊,多谢指教了!文件大概是这样的:你好欢迎来到…………sum1sum2sum3sum4111111111122222222223333333333444…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

问题描述:

想读取一个txt文本中的很多数据。数据之前有几行是中文,然后才是数据,如何用MATLAB读取txt文件中标识符所对应的列啊,多谢指教了!文件大概是这样的:

你好欢迎来到…………sum1 sum2 sum3 sum41      11     111   11112      22     222   22223      33     333   33334      44     444   44445      55     555   5555目标是逐行扫描后找到特定标识符‘sum2’,并保存与sum2相对应的列。即   sum21122334455另:sum2下面只有一部分数据,还有一部分和这一部分类似,但列数不同,您能教我一下想要提取sum2下的列用什么函数吗?

解决办法:

读取行以后得到sum2所在的列,然后接着往下读取数据,把数据用空格切割,保留sum2所在的列的数据fid=fopen(‘save.txt’,’r’);

line = fgetl(fid);

while~feof(fid)&&isempty(strfind(line,’sum2′))

line=fgetl(fid);

end

str = strsplit(line,’ ‘);

%查找sum2所在的列程序段,自己添加

index = 2;

%这里我简单的令其为2了

yourmat = [];

while~feof(fid)

line=fgetl(fid);

str = strsplit(line,’ ‘);

if isempty(str{1})

yourmat = [yourmat; str2double(str{index+1})];

else

yourmat = [yourmat; str2double(str{index})];

end

end

fclose(fid);

源数据保存在save.txt中。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196912.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号