文档

textread

从文本文件读取数据;写入多个输出

请注意

textread不建议使用。使用textscan代替。

语法

[A, B, C,…= textread(文件名,格式)
[A, B, C,…= textread(文件名,格式,N)
[…= textread(…,param,value,…)

描述

[A, B, C,…= textread(文件名,格式)从文件中读取数据文件名变成变量一个BC,等等,使用指定的格式,直到整个文件被读取。的文件名而且格式输入被指定为字符向量。textread对于读取具有已知格式的文本文件非常有用。textread处理固定格式和自由格式文件。

请注意

当读取大型文本文件、从文件中的特定点读取数据或将文件数据读取到单元格数组(而不是多个输出)时,您可能更喜欢使用textscan函数。

textread匹配并转换输入中的一组字符。每个输入字段被定义为一组非空白字符,扩展到下一个空白或分隔符字符,或扩展到字段的最大宽度。重复的分隔符字符是重要的,而重复的空白字符被视为一个字符。

格式Input指定为字符向量,决定返回参数的数量和类型。的内容所指示的项的数目格式格式万博1manbetx支持C语言的转换说明符和约定的子集fscanf例行公事。值格式都列在下表中。中的空白字符格式将被忽略。

格式

行动

输出

文字

(普通字符)

忽略匹配的字符。例如,在一个文件中部门后面跟着一个数字(用于部门编号),以跳过部门并且只读数字,使用“部门”在字符向量中格式

没有一个

% d

读取有符号整数值。

双数组

% u

读取一个整数值。

双数组

% f

读取一个浮点值。

双数组

% s

读取空格或分隔符分隔的文本。

字符向量的单元格数组

%问

阅读双引号文本,忽略引号。

字符向量的单元格数组

% c

读取字符,包括空白。

字符数组

%[…]

读取包含括号中指定的字符的最长字符组。

字符向量的单元格数组

% ^[…]

读取包含括号中未指定字符的最长非空字符组。

字符向量的单元格数组

% *……
而不是%

指定的匹配字符忽略

没有输出

% w…
而不是%

指定的读取字段宽度w.的% f格式支持万博1manbetx% w.pf,在那里w是场宽和p就是精度。

[A, B, C,…= textread(文件名,格式,N)读取数据,重用字符向量中指定的格式格式N次,N大于零的整数。如果N小于0,textread读取整个文件。

[…= textread(…,param,value,…)定制textread使用参数/值对,如下表所示。

参数

价值

行动

bufsize

正整数

指定字符向量的最大长度,以字节为单位。默认是4095

commentstyle matlab

忽略后面的字符

commentstyle 壳牌

忽略后面的字符

commentstyle c

忽略中间的字符/*而且* /

commentstyle c++

忽略后面的字符//

分隔符

一个或多个字符

充当元素之间的分隔符。默认值为none。

emptyvalue

标量的两倍

读取带分隔符的文件时赋给空单元格的值。默认值为0。

endofline

单字符或“\ r \ n”

表示一行结束的字符。

默认值由文件确定

expchars

指数字

默认是eEdD

headerlines

正整数

忽略文件开头指定的行数。

空格

以下列表中的任何一个:

将字符向量处理为空白。默认是“\ b \ t”

' '
\ b
\ n
r \
\ t

空间
退格
换行符
回车
水平选项卡

请注意

textread读一个连续的系列空格值,它把它们当作一个空白。当它读取一个连续的序列时分隔符值时,它将每个值视为单独的分隔符。

例子

例1 -使用%读取Free Format File中的所有字段

第一行mydata.dat

萨利第一层12.34 45是的

方法将文件的第一行读取为自由格式文件格式。

[name, types, x, y, answer] = textread('mydata.dat',…'%s %s %f %d %s', 1)

返回

names = 'Sally' types = 'Level1' x = 12.34000000000000 y = 45 answer = 'Yes'

例2 -读取为固定格式文件,忽略浮点值

第一行mydata.dat

萨利第一层12.34 45是的

将文件的第一行读取为固定格式文件,忽略浮点值。

[names, types, y, answer] = textread('mydata.dat',…'%9c %6s %*f %2d %3s', 1)

返回

名字=莎莉类型= 'Level1' y = 45答案= 'Yes'

% * f格式原因textread要忽略浮点值,在本例中,12.34

例3 -读取时使用文字忽略匹配的字符

第一行mydata.dat

Sally Type1 12.34 45是的

读取文件的第一行,忽略字符类型在第二个领域。

[names, typenum, x, y, answer] = textread('mydata.dat',…'%s '类型%d %f %d %s'

返回

names = 'Sally' typenum = 1 x = 12.34000000000000 y = 45 answer = 'Yes'

指定% d型格式导致字符类型在要忽略的第二个字段中,第二个字段的其余部分被读取为有符号整数,在这种情况下,1

例4 -指定填充空单元格的值

对于包含空单元格的文件,使用emptyvalue参数。假设文件data.csv包含:

1、2、3、4、6 7,8,9,11,12

读取文件填充任何空的单元格:

data = textread(“data.csv”,“,”分隔符 ', ',', ...“emptyvalue”,南);

例5 -将文件读入字符向量的单元格数组

读取文件fft.m变成一个由字符向量组成的单元格数组。

文件= textread('fft. txt ')M ', '%s', '分隔符','\n',…“空白”、“);

提示

如果要在文本中保留前导和尾随空格,请使用空格参数如下所示:

textread('myfile.txt', '%s', 'whitespace', ") ans = '保留空格的示例'

另请参阅

||

R2006a之前介绍

这个话题有用吗?