发布网友 发布时间:2022-04-22 00:23
共1个回答
热心网友 时间:2023-11-01 15:59
工作和学习中,经常需要我们读取大量的txt等文本文件,这里面可能有数据,可能有字符,本主要介绍如何使用matlab读取txt或其他类型的文本文件。
首先对txt中全是数据的情况进行介绍。 以Untitled.txt文档为例,在matlab的command window中输入: aa = textread('Untitled.txt'); 看到aa中都是Untitled.txt中的数据。
但是如果txt文档中包括了字符,那用textread就不好用了。 如再看看有字符串的aaa.txt文档。 matlab会出错。
将文件中全部数据读入到一个cell 中。 使用如下命令: fid = fopen('aaa.txt','r'); bb = textscan(fid,'%s'); fclose(fid); 这样就可以以文档中的空格为间隔,依次输出aaa.txt文档中的内容。
可以考虑一行一行来读带有字符串的文件。使用fgetl命令。 ffid = fopen('aaa.txt','r');tline = fgetl(ffid) tline = fgetl(ffid) 第一个tline得到第一行的值,第二个tline得到第二行的值。
如果我们想一直读取文件的话,可以考虑加一个循环判断语句: ffid = fopen('aaa.txt','r');tline = fgetl(ffid);i = 1;while feof(ffid) == 0 tline1{i,1} = fgetl(ffid); i = i+1;end 第一个tline表示我们不需要第一行的数据,如果第一行是数据属性的话,当然也可以删除这一行,那tline1的第一个数据就是tline。 后面的while循环中,将所有的数据都纳入到tline1这个cell 中,再对这个数组进行编辑和处理。