帮助中心
从文本文件或字符串中读取格式化数据
C = textscan(文件标识,formatSpec)
C = textscan(文件标识、formatSpec N)
C = textscan(CHR,formatSpec)
C = textscan(CHR,formatSpec,N)
C = textscan (___、名称、值)
[C,位置]= textscan (___)
例
C= textscan (文件标识,formatSpec)从打开的文本文件中读取数据到单元格数组中,C。文本文件由文件标识符表示,文件标识。采用FOPEN以打开该文件并获取文件标识值。当您完成从文件中读取,通过调用关闭文件文件关闭(文件标识)。
C= textscan (文件标识,formatSpec)
C
文件标识
formatSpec
FOPEN
文件关闭(文件标识)
textscan试图将文件中的数据与转换说明符中的数据匹配formatSpec。该textscan函数重新申请formatSpec遍历整个文件,当无法匹配时停止formatSpec的数据。
textscan
C= textscan (文件标识,formatSpec,ñ)通过读取文件数据formatSpecñ次,ñ是一个正整数。后从文件中读取的附加数据ñ周期,通话textscan再次使用原文文件标识。如果通过调用恢复文件的文本扫描textscan具有相同的文件标识符(文件标识),然后textscan自动恢复读取到它终止最后一次读取的地方。
C= textscan (文件标识,formatSpec,ñ)
ñ
C= textscan (CHR,formatSpec)从字符向量中读取文本CHR入单元阵列C。当从一个特征向量阅读文本,重复来电textscan每次都从头开始重新启动扫描。要从最后一个位置重新开始扫描,请求a位置输出。
C= textscan (CHR,formatSpec)
CHR
位置
textscan尝试匹配字符向量中的数据CHR中指定的格式formatSpec。
C= textscan (CHR,formatSpec,ñ)使用formatSpecñ次,ñ是一个正整数。
C= textscan (CHR,formatSpec,ñ)
C= textscan (___,名称,值)使用一个或多个指定的选择名称,值除了前面语法中的任何输入参数之外,还要对参数进行配对。
C= textscan (___,名称,值)
名称,值
[C,位置] = textscan(___)返回文件或在扫描作为第二输出参数的端部的特征向量中的位置。对于文件,这是值ftell(文件标识)在调用后返回textscan。对于一个字符向量,位置表明有多少个字符textscan读。
[C,位置] = textscan(___)
ftell(文件标识)
全部折叠
读取包含浮点数的字符向量。
CHR ='0.41 8.24 3.57 6.24 9.27';C = textscan(CHR,' % f ');
这说明符' % f '在formatSpec告诉textscan来匹配每个字段CHR到双精度浮点数。
' % f '
显示单元格数组的内容C。
celldisp(C)
13 C {1} = 0.4100 8.2400 3.5700 6.2400 9.2700
读取相同的字符向量,并将每个值截断为一个十进制数字。
C = textscan(CHR,' % 3.1 f % * 1 d ');
这说明符% 3.1度表示字段宽度为3位数字,精度为1。该textscan函数总共读取3位数字,包括小数点和小数点后的1位。说明符,% * 1 d告诉textscan跳过剩下的数字。
% 3.1度
% * 1 d
C{1} = 0.4000 8.2000 3.5000 6.2000 9.2000
数据文件的加载和读取与适当的类型的每一列。
加载文件scan1.dat并在文本编辑器中预览其内容。屏幕截图如下所示。
scan1.dat
文件名= fullfile (matlabroot,“例子”,'MATLAB','scan1.dat');
打开文件,并使用适当的转换说明符读取每一列。textscan回报1乘9单元阵列C。
1乘9
文件标识= fopen(文件名);C = textscan(文件标识,'%s %s %f32 %d8 %u %f %f %s %f');文件关闭(文件标识);谁C
名称大小字节类属性C 1x9 2249单元格
查看在每个单元的的数据MATLAB®类型C。
C =1×9单元第1列到第5列{3x1 cell} {3x1 cell} {3x1 single} {3x1 int8} {3x1 uint32} {3x1 double} {3x1 double} {3x1 cell} {3x1 double} {3x1 double}
检查各个条目。请注意,13 C {1}和13 C {2}是细胞阵列。C {5}是数据类型的uint32的前两个元素C {5}a的最大值是多少32-位无符号整数,或intmax (“uint32”)。
13 C {1}
13 C {2}
C {5}
uint32
32
intmax (“uint32”)
C {1} {1} = 09/12/2005 C {1} {2} = 10/12/2005 C {1} {2} {3} = 11/12/2005 C{1} =使C{2}{2}{2}{3} =二级C = C Level3 {3} = 12.3400 23.5400 34.9000 C {4} = 45 60 12 C {5} = 4294967295 4294967295 200000 C{6} =正从10 C{7} =南0.0010 - 100.0000 C {8} {1} = Yes C{8}{2} =没有C{8}{3} =没有C{9} = 5.1000 + 3.0000我2.2000 - 0.5000 3.1000 + 0.1000
删除文字文本'水平'来自前一个示例中数据的第二列中的每个字段。该文件的预览如下所示。
'水平'
打开文件,并匹配在formatSpec输入的文字文本。
文件名= fullfile (matlabroot,“例子”,'MATLAB','scan1.dat');文件标识= fopen(文件名);C = textscan(文件标识,'%s Level%d %f32 %d8 %u %f %f %s %f');文件关闭(文件标识);13 C {2}
ANS =3x1 int32列向量1 2 3
查看第二个单元格的MATLAB®数据类型C。的第二个细胞1乘9单元阵列,C是数据类型的现在int32。
int32
disp(类(C {2}))
将前一个示例中文件的第一列读入单元格数组,跳过其余行。
文件名= fullfile (matlabroot,“例子”,'MATLAB','scan1.dat');文件标识= fopen(文件名);日期= textscan(FILEID,'%S%* [^ \ n]的');文件关闭(文件标识);日期{1}
ANS =3 x1单元阵列{'09 / 12/2005 '} {'10 / 12/2005'} {'11 / 12 / 2005' }
textscan返回单元格数组日期。
加载文件data.csv并在文本编辑器中预览其内容。屏幕截图如下所示。注意,该文件包含用逗号分隔的数据,也包含空值。
data.csv
阅读文件,转换空单元格负。
负
文件名= fullfile (matlabroot,“例子”,'MATLAB','data.csv');文件标识= fopen(文件名);C = textscan(文件标识,'%f %f %f %f %u8 %f',…“分隔符”,”、“,“EmptyValue”、负);文件关闭(文件标识);column4 = C{4}, column5 = C{5}
column4 =2×14 -Inf
column5 =2x1 uint8列向量0 11
textscan回报1×6单元阵列,C。该textscan函数将空值转换为13 C {4}至负,在那里13 C {4}与浮点格式相关联。因为MATLAB®表示无符号整数负作为0,textscan转换的空值C {5}至0, 并不是负。
1×6
13 C {4}
0
加载文件data2.csv并在文本编辑器中预览其内容。屏幕截图如下所示。注意,该文件包含可以解释为注释和其他条目的数据,比如“NA”要么“na”这可能表示字段为空。
data2.csv
“NA”
“na”
文件名= fullfile (matlabroot,“例子”,'MATLAB',“data2.csv”);
指定的输入端,textscan应该当作注释或空值和数据扫描到C。
文件标识= fopen(文件名);C = textscan(文件标识,'%s %n %n %n %n',“分隔符”,”、“,…“TreatAsEmpty”,{“NA”,“na”},“CommentStyle”,'//');文件关闭(文件标识);
显示输出。
13 C {1} {1} = ABC 13 C {1} {2} = DEF 13 C {2} = 2的NaN 13 C {3} = NaN的5℃{4} = 3 6 13 C {5} = 4 7
加载文件data3.csv并在文本编辑器中预览其内容。屏幕截图如下所示。注意,该文件包含重复的分隔符。
data3.csv
文件名= fullfile (matlabroot,“例子”,'MATLAB',“data3.csv”);
为了治疗反复逗号作为一个分隔符,使用MultipleDelimsAsOne参数,并且将该值设置为1(真正的)。
MultipleDelimsAsOne
1
真正的
文件标识= fopen(文件名);C = textscan(文件标识,'%F%F%F%F',“分隔符”,”、“,…“MultipleDelimsAsOne”1);文件关闭(文件标识);celldisp(C)
C{1} = 1 5 C{2} = 2 6 C{3} = 3 7 C{4} = 4 8
加载数据文件grades.txt对于本例,并在文本编辑器中预览其内容。屏幕截图如下所示。注意,该文件包含重复的分隔符。
grades.txt
文件名= fullfile (matlabroot,“例子”,'MATLAB',“grades.txt”);
使用该格式读取列标头' % s '四次。
' % s '
文件标识= fopen(文件名);formatSpec =' % s ';N = 4;formatSpec C_text = textscan(文件标识,N,“分隔符”,“|”);
读取文件中的数字数据。
C_data0 = textscan(文件标识,'%d%F%F%F')
C_data0 =1×4细胞{4x1 int32} {4x1双}{4x1双}{4x1双}{4x1双}
的默认值CollectOutput是0(假),所以textscan在一个单独的数组中返回数值数据的每一列。
CollectOutput
假
将文件位置指示器设置为文件的开头。
frewind(文件标识);
该文件和组CollectOutput重读为1(真)来收集同一类的连续列到单个阵列。您可以使用repmat函数表示% f转换说明应该会出现三次。当格式重复多次这个技术是很有用的。
repmat
% f
C_text = textscan(FILEID,' % s ',N,“分隔符”,“|”);C_data1 = textscan(文件标识,' % d 'repmat (' % f '[1,3])),“CollectOutput”,1)
C_data1 =1×2细胞{4x1 int32} {4x3双}
测试分数,这是所有双,被收集到一个单一的4×3阵列。
关闭该文件。
文件关闭(文件标识);
从文本文件中读取数据的第一个和最后一列。跳过一列文本和整数数据的列。
加载文件names.txt并在文本编辑器中预览其内容。屏幕截图如下所示。注意,该文件包含两列带引号的文本,后面是一列整数,最后是一列浮点数。
names.txt
文件名= fullfile (matlabroot,“例子”,'MATLAB',“names.txt”);
读取文件中的第一列和最后一列数据。使用转换说明符,%问读取由双引号包围的文本(“)。%* Q跳过引用的文字,%* d跳过整数字段,并且% f读取浮点数。属性指定逗号分隔符“分隔符”名称 - 值对的参数。
%问
“
%* Q
%* d
“分隔符”
文件标识= fopen(文件名,'R');C = textscan(文件标识,'%Q%* Q *%d%f的,“分隔符”,”、“);文件关闭(文件标识);
显示输出。textscan返回单元格数组C其中包含文本的双引号被删除。
C{1}{1} = Smith, J. C{1}{2} = Bates, G. C{1}{3} =居里,M. C{1}{4} = Murray, G. C{1}{5} = Brown, K. C{1}0 = 71.1000 69.3000 64.1000 133.0000 64.9000
加载文件german_dates.txt并在文本编辑器中预览其内容。屏幕截图如下所示。请注意,值的第一列包含日期在德国的第二和第三列是数值。
german_dates.txt
文件名= fullfile (matlabroot,“例子”,'MATLAB','german_dates.txt');
打开文件。指定与文件关联的字符编码方案作为最后的输入FOPEN。
文件标识= fopen(文件名,'R',“n”,“iso - 8859 - 15”);
阅读该文件。使用指定文件中的日期格式%{DD%MMMM YYYY} d符。指定使用日期的语言环境DateLocale名称 - 值对的参数。
%{DD%MMMM YYYY} d
DateLocale
C = textscan(文件标识,'%{DD MMMM YYYY} d%F%F',…“DateLocale”,'de_DE' 对应,“分隔符”,”、“);文件关闭(文件标识);
查看c语言中第一个单元格的内容。MATLAB使用的语言中显示的日期取决于您的系统语言环境。
ANS =3X1日期时间阵列2014年1月01日2014年2月01日2014年3月01日
采用的sprintf转换数据中的非默认转义序列。
的sprintf
创建包含表单提要字符的文本,\ f。然后,读课文用textscan,通话的sprintf以显式地转换表单提要。
\ f
歌词= sprintf的('黑鸟\ fsinging \鳍\ fthe \ fdead \ FOF \ fnight');C = textscan(抒情,' % s ',“分隔符”sprintf ('\F'));13 C {1}
ANS =7 x1单元阵列{ '黑鸟'} { '唱歌'} { '在'} { '的'} { '死'} { '的'} { '夜'}
textscan返回一个单元阵列,C。
从恢复比期初以外的位置进行扫描。
如果你继续扫描文本,textscan每次都从头开始读。若要从任何其他位置恢复扫描,请在对的初始调用中使用双输出参数语法textscan。
例如,创建称为字符向量歌词。读取字符向量的第一个单词,然后继续扫描。
歌词
抒情="夜深人静时画眉歌唱";[firstword,POS] = textscan(歌词,' % 9 c '1);lastpart = textscan(抒情(pos + 1:结束),' % s ');
打开的文本文件的文件标识符,指定为一个数字。在读取文件之前textscan,您必须使用FOPEN以打开该文件并获取文件标识。
数据类型:双
双
数据字段的格式,指定为一个或多个转换说明符的字符向量或字符串。当textscan读取输入后,它将尝试将数据匹配到指定的格式formatSpec。如果textscan不匹配的数据字段,它停止阅读并返回各领域的失败之前阅读。
转换说明的数目决定输出阵列中的单元的数目,C。
数值字段
此表列出数字输入的可用转换说明符。
% d
% d8
INT8
% d16
int16
% d32
% d64
int64
% u
U8%
uint8
%U16
uint16
% u32
% u64
uint64
%F32
单
% f64
% n
非数字字段
此表列出了包含非数字字符的输入的可用转换说明符。
% c
% s
读取为字符向量的单元数组。如文本以双引号(“),省略前导引号和与之配套的封闭标记,这是一个孤双引号的第二个实例。更换逃脱双引号(例如,”“abc”“)与孤独的双引号(“ABC”)。%问忽略在结束双引号之后出现的任何双引号。
”“abc”“
“ABC”
例子:“% q”读取“‘乔‘’闪电’‘史密斯,小’”作为“小‘闪电’乔·史密斯。”。
“% q”
“‘乔‘’闪电’‘史密斯,小’”
“小‘闪电’乔·史密斯。”
% D
以同样的方式阅读%问以上,然后转换为一个日期时间值。
% {fmt}D
fmt
以同样的方式阅读%问,然后将其转换为日期时间值。fmt描述输入文本的格式。该fmt输入是字母标识符的字符向量是为有效的值格式日期时间的属性。textscan将文本转换不符合此格式的NaT值。
格式
的NaT
有关datetime显示格式的更多信息,请参见格式属性,用于日期时间数组。
例子:' % {dd-MMM-yyyy} D '指定日期的格式,如' 01 - 1月- 2014。
' % {dd-MMM-yyyy} D '
' 01 - 1月- 2014
%T
以同样的方式阅读%问,然后转换为持续时间值。
% {fmt}T
以同样的方式阅读%问,然后将其转换为持续时间值。fmt描述输入文本的格式。该fmt输入是字母标识符的字符向量是为有效的值格式持续时间的属性。textscan将文本转换不符合此格式为NaN值。
为NaN
有关持续时间显示格式的详细信息,请参见格式属性用于持续时间数组。
例子:' % {hh: mm: ss} T '指定持续时间的格式,如“10:30:15”,其表示10小时,30分钟,15秒。
' % {hh: mm: ss} T '
“10:30:15”
% C
以同样的方式阅读%问,然后转换为类别名称的分类排列。textscan转换<未定义>文本到输出类别数组中未定义的值。
<未定义>
% […]
读取为字符向量的单元数组,方括号内的字符直到第一个非匹配字符。包括]在集合中,先指定:% []…]。
]
% []…]
例子:%(亩)读取“夏”作为“夏”。
%(亩)
“夏”
%[^ ...]
排除括号内的字符,一直读到第一个匹配的字符。排除],首先指定它:% [^]…]。
% [^]…]
例子:% (^ xrg]读取“夏”作为“summe”。
% (^ xrg]
“summe”
可选的运营商
转换指定的formatSpec可以包括可选的操作符,它们按如下顺序出现(为了清晰起见,包括空格):
可选的经营范围包括:
字段和字符来忽略
textscan读取顺序文件中的所有字符,除非你告诉它忽略某个领域或场的一部分。
插入百分号(%)后的星号(*)来跳过一个字段或一个字符字段的一部分。
操作符
所采取的行动
% *ķ
ķ
跳过这个领域。ķ任何标识要跳过的字段的转换说明符。textscan不创建任何这样的字段的输出单元。
例子:'%s %s %s %s %s %s %s'(空格是可选的)转换文本"夜深人静时画眉歌唱"分为四个输出单元《黑夜》中的黑鸟
'%s %s %s %s %s %s %s'
"夜深人静时画眉歌唱"
《黑夜》中的黑鸟
“%*ñS'
跳过了ñ字符,其中ñ是小于或等于字段中字符数的整数。
例子:% * 3年代% s转换'ABCDEFG'至“defg”。当分隔符为逗号,同样的分隔符转换'ABCDE,fghijkl'到包含'去'; 'IJKL'。
% * 3年代% s
'ABCDEFG'
“defg”
'ABCDE,fghijkl'
'去'; 'IJKL'
“%*ñc '
跳过ñ字符,包括分隔符。
字段宽度
textscan读取由字段宽度或精度指定的字符或数字的数目,或读到第一个分隔符(以先出现的为准)。小数点,符号(+要么-),指数字符,并在数字指数数字被算作域宽度内的字符和数字。对于复数,场宽度指的是实部和虚部的各宽度。为虚部,场宽度包括+或 - 但不是一世要么Ĵ。通过在转换说明符的百分比字符(%)后面插入一个数字来指定字段宽度。
+
-
一世
Ĵ
例子:% 5 f读取“123.456”作为123.4。
% 5 f
“123.456”
123.4
例子:% 5度读取'ABCDEFG'作为”中的“。
% 5度
”中的“
当字段宽度操作符与单个字符一起使用时(% c),textscan还可以读取分隔符、空白和行尾字符。例子:% 7 c读7个字符,包括空格,因此“昼夜”读起来像“天”。
% 7 c
“昼夜”
“天”
精确
对于浮点数(% n,% f,%F32,% f64),你可以指定的小数位数阅读。
例子:% 7.2度读取“123.456”作为123.45。
% 7.2度
123.45
文字文本到忽略
textscan属性后附加的文本formatSpec转换说明符。
例子:%与水平读取“使”作为1。
%与水平
“使”
例子:%u8Step读取的2个步骤作为2。
%u8Step
的2个步骤
2
数据类型:字符|字符串
字符
字符串
正
次数申请formatSpec,指定为一个正整数。
数据类型:单|双|INT8|int16|int32|int64|uint8|uint16|uint32|uint64
输入要读取的文本。
指定可选的用逗号分隔的对名称,值参数。名称参数名和价值是对应的值。名称必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家。
名称
价值
Name1, Value1,…,的家
C = textscan(文件标识、formatSpec HeaderLines, 3,“分隔符”,“,”)
名称不区分大小写。
“CollectOutput”
逻辑指示符决定数据连接,指定由逗号分隔的对组成“CollectOutput”,要么真正的要么假。如果真正的,然后进口函数连接相同的基本MATLAB的连续输出单元®类化为单个数组。
“CommentStyle”
表示忽略文本的符号,由逗号分隔的对组成“CommentStyle”和字符向量,特征向量,字符串或字符串数组的单元阵列。
例如,指定一个字符,如'%'忽略文本在同一行的符号以下。指定两个字符载体,如的单元阵列{ '/ *', '* /'},以忽略这些序列之间的任何文本。
'%'
{ '/ *', '* /'}
MATLAB检查不是场内仅在每个字段的开始评论。
例子:CommentStyle, {“/ *”、“* /”}
CommentStyle, {“/ *”、“* /”}
“DateLocale”
用于读取日期的区域设置,指定为逗号分隔的对“DateLocale”和形式的字符向量XX_YY,在那里XX是小写的ISO 639-1两字母代码,指定一种语言,和YY是大写ISO 3166-1的α-2代码指定的国家。对于语言环境共同值的列表,请参阅语言环境的名称 - 值对参数datetime功能。
XX_YY
XX
YY
语言环境
datetime
采用DateLocale指定在使用阅读文本的日期时,应textscan解释星期名称和缩写的月份和日期的语言环境% D格式说明符。
例子:“DateLocale”、“ja_JP”
“DateLocale”、“ja_JP”
字段分隔符,指定为逗号分隔的一对组成的“分隔符”和字符向量或特征向量的单元阵列。指定字符向量的单元阵列的多个定界符。
例子:“分隔符”,{‘;’,‘*’}
“分隔符”,{‘;’,‘*’}
textscan将重复的分隔符解释为单独的分隔符,并向输出单元格返回空值。
在每一行数据,默认的字段分隔符是空白。白色空间可以是空间任意组合(“”),退格(“\ b”),或tab (' \ t ')字符。如果不指定分隔符,则:
“”
“\ b”
' \ t '
分隔符与空白字符相同。默认的空白字符是“”,“\ b”,' \ t '。使用“空格”指定备用空白字符的名称-值对参数。
“空格”
textscan将重复的空白字符解释为单个分隔符。
当您指定下列转义序列之一作为分隔符时,textscan转换该序列相应的控制字符:
\ b
\ n
r \
\ t
\ \
\
“EmptyValue”
在分隔的文本文件中为空的数字字段返回值,指定为逗号分隔的对“EmptyValue”和一个标量。
“EndOfLine”
行尾字符,由逗号分隔的对组成“EndOfLine”和一个字符向量或字符串。字符向量必须是“\ r \ n”或者它必须指定单个字符。常见的行尾字符是换行字符('\ n')或回车(' \ r ')。如果您指定“\ r \ n”,则导入函数处理任何r \,\ n,两者的结合(\ r \ n)作为行尾字符。
“\ r \ n”
'\ n'
' \ r '
\ r \ n
默认的行尾序列是\ n,r \, 要么\ r \ n,这取决于文件的内容。
如果存在缺少值,并在文件的最后一行的末尾的结束线序,然后进口函数返回这些字段为空值。这确保了单个细胞在输出单元阵列,C,大小相同。
例子:'行结束',':'
'行结束',':'
'ExpChars'
“eEdD”
指数字符,由逗号分隔的对组成'ExpChars'和一个字符向量或字符串。默认的指数字符是Ë,Ë,d,d。
Ë
d
'HeaderLines'
标题行数,由逗号分隔的对组成'HeaderLines'一个正整数。textscan跳过标题行,包括当前行的其余部分。
“MultipleDelimsAsOne”
0(假)
1(真正的)
多个分隔符处理,指定为逗号分隔的对“MultipleDelimsAsOne”,要么真正的要么假。如果真正的,则导入函数将连续分隔符视为单个分隔符。由空白分隔的重复分隔符也被视为单个分隔符。还必须指定分隔符选择。
分隔符
例子:“MultipleDelimsAsOne”, 1
“MultipleDelimsAsOne”, 1
“ReturnOnError”
当行为textscan无法读取或转换,指定为逗号分隔的对“ReturnOnError”,要么真正的要么假。如果真正的,textscan在没有错误的情况下终止,并返回所有读取的字段。如果假,textscan带错误终止,不返回输出单元格数组。
“TreatAsEmpty”
占位符文本以治疗为空值,指定为逗号分隔的一对组成的“TreatAsEmpty”和字符向量,特征向量,字符串或字符串数组的单元阵列。此选项仅适用于数字字段。
“\ b \ t”
空白字符,指定为逗号分隔的一对组成的“空格”和字符向量或字符串包含一个或多个字符。textscan添加空格字符,char (32),任何指定的空格,除非空格是空的 (”),formatSpec包括任何转换说明符。
char (32)
空格
”
当您指定以下转义序列之一的任何空白字符,textscan转换该序列相应的控制字符:
“TextType”
“字符”
“字符串”
输出文本的数据类型,指定为由逗号分隔的对组成“TextType”,要么“字符”要么“字符串”。如果你指定了值“字符”,然后textscan返回文本字符向量的单元阵列。如果你指定了值“字符串”,然后textscan返回文本类型的数组字符串。
文件或文本数据,返回为单元阵列。
中的每个数值转换说明符formatSpec,textscan函数返回一个ķ×1 MATLAB数值向量到输出单元阵列,C,在那里ķ是多少次呢textscan找到字段匹配说明符。
对于每个文本转换说明(% s,%问, 要么% […])在formatSpec,textscan函数返回一个ķ-1个字符向量的单元数组,其中ķ是多少次呢textscan找到字段匹配说明符。对于每个字符转换,其包括场宽度操作,textscan回报ķ——- - - - - -中号字符数组,中号是字段宽度。
中号
中的每个日期时间或分类转换说明符formatSpec,textscan函数返回一个ķ×1 datetime或分类矢量向输出单元阵列,C,在那里ķ是多少次呢textscan找到字段匹配说明符。
在扫描结束时的位置,在文件或字符向量中,作为类的整数返回双。对于文件,ftell(FILEID)调用后将返回相同的值吗textscan。对于一个字符向量,位置表明有多少个字符textscan读。
ftell
(FILEID)
textscan根据MATLAB中有关溢出、截断和使用的规则,将数值字段转换为指定的输出类型为NaN,正,负。例如,MATLAB表示一个整数为NaN为零。如果textscan查找与整数格式说明符(例如% d要么% u),它返回一个空值为零,而不是为NaN。
当匹配数据到文本转换说明符,textscan读取,直到找到分隔符或行尾字符。当将数据与数值转换说明符匹配时,textscan读取,直到找到一个非数字字符。当textscan无法将数据与特定的转换说明符匹配,则尝试将数据与?中的下一个转换说明符匹配formatSpec。标志 (+要么-)、指数字符和小数点被认为是数字字符。
textscan将任何复数作为一个整体导入复杂的数字字段,将实部和虚部转换为指定的数字类型(例如% d要么% f)。复数的有效表格如下:
<真正>
<图像放大>我| j
例子:5.7-3.1i
5.7-3.1i
例子:-7j
-7j
不要在复数中包含嵌入的空白。textscan将嵌入的空白解释为字段分隔符。
FOPEN|从文件中读|fscanf|负载|readcell|readmatrix|readtable|readvars|uiimport
从文件中读
fscanf
负载
readcell
readmatrix
readtable
readvars
uiimport
您的系统中存在此示例的修改版本。你想打开这个版本吗?
您单击对应于该MATLAB命令的链接:
通过在MATLAB命令窗口中输入该命令来运行它。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,以获得翻译的内容,其中可看到当地的活动和优惠。根据您的位置,我们建议您选择:。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文),以获得最佳的网站表现。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
请联系您当地的办事处