一、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_txt.txt’);
x=data(:,1);
y=data(:,2);
plot(x,y,‘r–’)

二、importdata()函数

只是第一行有字符,则使用importdata可直接读取数据。importdata函数只读取数据,自动省略数据格式前后的字符;

例子,data_txt_string.txt内容如下:

11.txt
0 1.000000 2.000000 3.000000
1 3.000000 4.000000 5.000000
2 6.000000 7.000000 8.000000

读取代码如下:

data1=importdata(‘11.txt’);
data2=data1.data; 

三、textread函数

textread、textscan——适合读取行列规整的文本,会存到元胞中,可通过headerlines省略读取字段名(字符行);

3.1、读取开头带字符注释,数据有分隔符(逗号,分号…)的数据:

11.txt
1, 2, 3, 4
5, 6, 7, 8
9, 10, 11, 12

读取代码:

[a1,a2,a3,a4]=textread('11.txt','%d%d%d%d','delimiter', ',','headerlines',1);

delimiter是指出分隔符,读数据的时候会自动跳过分隔符。

headerlines指明了跳过几行,这里headerlines告诉textread跳过一开始的1行,1可以替换为任意要跳过的行数。

format用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等

3.2、 txt中存在空位,用nan替代为空的部分

11.txt
1,2,3,4,,6
7,8,9,,11,12

读取代码:

>>[d1 d2 d3 d4 d5 d6] = textread('11.txt','%f%f%f%f%f%f','headerlines',1, 'delimiter', ',', 'emptyvalue', NaN)
>> data=[d1 d2 d3 d4 d5 d];
>> data
data =
     1     2     3     4   NaN     6
     7     8     9   NaN    11    12

3.3、txt文件包含不同格式数据

11.txt
Sally Start 12.34 56 End
Sall Star 12.3 5 En

读取代码:

[name, types, x, y, answer] = textread('11.txt' , '%s%s%f%d%s', 3);

注意“3”为读取次数,应该是要读取的行数,即读取11.txt 3行数据。

这里没有设置跳行headerlines,读取结果为3*1的cell,“11.txt"会读取保存在name中,

3.4、读入规律格式的数据

11.txt
Location;date;discharge
Lobith;1989-01-01;00:00;2801
Lobith;1989-01-02;00:00;2619

 读取代码:

>> [loc year month day hour min charge]=textread('11.txt','%s%f-%f-%f%f:%f%f','headerlines',2,'delimiter',';')
loc =
    'Lobith'
    'Lobith'
year =
        1989
        1989
month =
     1
     1
day =
     1
     2
hour =
     0
     0
min =
     0
     0
charge =
        2801
        2619

3.5、[a1,a2,a3,a4]=textread('test1.txt','%s%s%*s%*s')     #   %*s代表省略后两列数据 

from:Matlab学习笔记(9)——textread函数_Lavi_qq_2910138025的博客-CSDN博客_matlab textread

四、csvread、dlmread——适合读取csv、xsl等文件格式文本;

5、fprintf、fscanf——适合读取复杂的文本(中英文、数字串混杂出现);

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐