文档帮助中心
detectImportOptions
从文件创建表
T = readtable(文件名)
T = readtable(文件名,选择)
T = readtable (___、名称、值)
例子
T= readtable(文件名)通过从文件中读取面向列的数据来创建表。
T= readtable(文件名)
T
文件名
可阅读根据文件扩展名确定文件格式:
可阅读
. txt,.dat,或. csv用于分隔文本文件
. txt
.dat
. csv
.xls.,.xlsb,.xlsm,.xlsx,.xltm,.xltx,或。ods电子表格文件
.xls.
.xlsb
.xlsm
.xlsx
.xltm
.xltx
。ods
可阅读在T读取文件的每一列,并从文件的第一行读取变量名。默认情况下,可阅读创建具有适合于在输入文件的每个列中检测到的数据值的数据类型的变量。
T= readtable(文件名,选择)使用导入选项创建表选择.
T= readtable(文件名,选择)
选择
T= readtable(___,名称,价值)从文件中创建一个表,其中包含一个或多个名称值对参数指定的其他选项。例如,您可以指定是否可阅读将文件的第一行作为变量名称或数据读取。
T= readtable(___,名称,价值)
名称,价值
要为数据设置特定的导入选项,可以使用选择对象,也可以指定名称-值对。当您指定名称-值对时选择,然后可阅读金宝app仅支持以下名称-值对:
文本和电子表格参数ReadVariableNames,ReadRowNames
ReadVariableNames
ReadRowNames
文字参数-datelocale.,编码
datelocale.
编码
电子表格仅参数 -表,UseExcel
表
UseExcel
全部收缩
加载文件mycsvtable.dat.并在文本编辑器中预览其内容。屏幕截图如下所示。请注意,该文件包含以逗号分隔的面向列的数据。
mycsvtable.dat.
文件名=“myCsvTable.dat”;
从逗号分隔的文本文件创建一个表。结果表T包含文件中的每个列的一个变量可阅读将文件第一行中的条目视为变量名。
T =5×6表LastName性别年龄身高体重吸烟者 ____________ ______ ___ ______ ______ ______ {' 史密斯的}{“M”}38 71 176 1{“约翰逊”}{“M”}43 69 163 0{威廉姆斯的}{' F '} 38 64 131 0{“琼斯”}{' F '} 40 67 133 0{“棕色”}{' F '} 49 64 119 0
从R2020a开始可阅读函数读取输入文件,就像它自动调用detectImportOptions函数。它可以检测数据类型,丢弃额外的标题行,并填充缺失的值。
例如,预览文件标题andmissing.txt.在文本编辑器中。该文件具有带列名称的行和标题的另一行。最后两行具有空白,其中前行具有数据值。
标题andmissing.txt.
从文件中创建一个表。的可阅读函数将丢弃头信息。此外,它还用适当的缺失值(a)填充空白南值表示数值变量,空字符向量表示文本。
南
T = readtable (“headersAndMissing.txt”)
T =5×6表LastName性别年龄身高体重吸烟者 ___________ __________ ___ ______ ______ ______ {' 吴}{“M”}38 71 176 1{“约翰逊”}{“M”}43 69 163 0{桑切斯的}{' F '} 38 64 131 0{“棕色”}{' F '}南67 133 0{“皮卡”}{0 x0 char}南64 119 0
要从上一个版本恢复默认行为,请指定“格式”、“汽车”名称-值对的论点。可阅读读取头作为数据,因此,它将所有表变量转换为文本。
“格式”、“汽车”
T = readtable (“headersAndMissing.txt”,“格式”,“汽车”)
T =6×6表LastName性别年龄身高体重吸烟者 ___________ __________ __________ _______ _______ ___________ {' 字符串的}{'字符串'}{“int”}{“int”}{“int”}{“布尔”}{‘吴’}{“M”}{“38”}{71”}{176”}{1}{“约翰逊”}{“M”}{“43”}{69”}{163”}{' 0 '}{桑切斯的}{' F '}{“38”}{64”}{131”}{' 0 '}{“棕色”}{' F '} {0 x0 char} {67 '}”{133}{' 0 '}{“皮卡”}{0 x0 char} {0 x0 char}{64”}{119”}{' 0 '}
有关更多信息,请参阅此页面上的兼容性注意事项部分。
预览文件mySpaceDelimTable.txt在文本编辑器中。屏幕截图如下所示。请注意,该文件包含空格分隔,面向列的数据。
mySpaceDelimTable.txt
从以空格分隔的文本文件创建表。的可阅读函数指定默认变量名Var1来Var5因为文件不包含其第一行中的可检测列名称。
Var1
Var5
T = readtable (“mySpaceDelimTable.txt”)
T =3×5表Var1 Var2 Var3 Var4 Var5 _____ ____ ____ ______ _________ {' 45 45 M '}{“纽约”}{“真实”}{' F '} 41 32{“CA”}{“假”}{“M”}40 34{‘马’}{“假”}
从逗号分隔的文本文件创建一个表。将前两列作为字符向量导入,将第三列作为uint32,下两列为双精度浮点数。导入最后一列的条目作为字符向量。
uint32
T = readtable(文件名,“格式”,' % s % s % u % f % f % s ')
T =5×6表LastName性别年龄身高体重吸烟者 ____________ ______ ___ ______ ______ ______ {' 史密斯的}{“M”}38 71 176{' 1 '}{“约翰逊”}{“M”}43 69 163{' 0 '}{威廉姆斯的}{' F '} 38 64 131{' 0 '}{“琼斯”}{' F '} 40 67 133{' 0 '}{“棕色”}{' F '} 49 64 119 {' 0 '}
转换说明符为%S.对于字符向量的单元格数组,%F为了双, 和%U.为了uint32.
%S.
%F
双
%U.
从文件中读取德语日期,并将其作为英语日期添加到表中。
预览文件german_dates.txt在文本编辑器中。屏幕截图如下所示。注意,值的第一列包含德语日期,第二列和第三列是数值。
german_dates.txt
使用下面的命令读取示例文件可阅读.转换说明符为% D日期和%F浮点值。属性指定文件编码FileEncoding名称-值对的论点。属性指定日期的格式和区域设置datelocale.名称-值对的论点。
% D
FileEncoding
T = readtable ('dermber_dates.txt',...“格式”,'%{dd MMMM yyyy}D %f %f',...'fillencoding','ISO-8859-15',...“DateLocale”,“de_DE”)
T =3×3表Var1 Var2 Var3 ________________ _________ 01 January 2014 20.2 100.5 01 February 2014 21.6 102.7 01 March 2014 20.7 99.8
从电子表格中创建一个表,该表包含第一行中的变量名和第一列中的行名。
T = readtable (“patients.xls”,“ReadRowNames”,真正的);
显示表的前5行和前4个变量。
T(1:5,1:4)
ans =5×4表性别年龄位置高度____________ _________________________________史密斯{'male'} 38 {'male'aleach医院'} 71 {'male'} 43 {'va医院'} 69威廉姆斯{'女性'} 38 {'St.Mary's Medical Center'} 64 Jones {'女性'} 40 {'VA医院'} 67 Brown {女性'} 49 {'郡普通医院'} 64
查看DimensionNames表的属性。
DimensionNames
t.properties.dimensionnames.
ans =.1x2细胞{' LastName}{}“变量”
“姓”是电子表格第一行的第一列中的名称。
“姓”
使用来自电子表格的指定区域的数据创建表患者.XLS..使用边角之间的5乘3矩形区域的数据C2和E6.不要使用该区域的第一行作为变量名。
患者.XLS.
C2
E6
T = readtable (“patients.xls”,...'范围',“C2: E6”,...'readvariablenames'假)
T = Var1 Var2 Var3 ____ ___________________________ ____ 38 '县综合医院' 71 43 'VA医院' 69 38 'St. Mary's Medical Center' 64 40 'VA医院' 67 49 '县综合医院' 64
T包含默认变量名。
创建导入选项,为多个变量定制数据类型,然后读取数据。
从文本文件创建导入选项对象。
选择= detectImportOptions (“airlinesmall.csv”)
opts = delimitedtextimportoptions with属性:format属性:delimiter:{','}空白:'\ b \ t'排列:{'\ n''\ r'''\ r \ n'} CommentStyle:{} inceCutivedelimitersrule:'split'LeadingDelimitersRule: 'keep' EmptyLineRule: 'skip' Encoding: 'ISO-8859-1' Replacement Properties: MissingRule: 'fill' ImportErrorRule: 'fill' ExtraColumnsRule: 'addvars' Variable Import Properties: Set types by name using setvartype VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} VariableTypes: {'double', 'double', 'double' ... and 26 more} SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} VariableOptions: Show all 29 VariableOptions Access VariableOptions sub-properties using setvaropts/getvaropts PreserveVariableNames: false Location Properties: DataLines: [2 Inf] VariableNamesLine: 1 RowNamesColumn: 0 VariableUnitsLine: 0 VariableDescriptionsLine: 0 To display a preview of the table, use preview
检查类型变量的性质TaxiIn和TaxiOut.
类型
TaxiIn
TaxiOut
getVaropts(选择,{'滑行','滑行'})
ans = 1x2 TextVariableImportOptions数组的属性:Name Type FillValue TreatAsMissing QuoteRule Prefixes suffix emptyfieldrole WhitespaceRule
更改变量的类型TaxiIn和TaxiOut来双.
选择= setvartype(选择,{'滑行','滑行'},'双倍的');
指定要导入和检查的变量子集。
选择。SelectedVariableNames = {'滑行','滑行'};
使用可阅读函数和选项对象一起导入选定的变量。显示表的摘要。
T = readtable (“airlinesmall.csv”、选择);总结(T)
变量:TaxiIn: 123523x1 double Values: Min 0 Median 5 Max 1451 NumMissing 37383 TaxiOut: 123523x1 double Values: Min 0 Median 13 Max 755 NumMissing 37364
检测电子表格文件的导入选项,指定要导入的变量,然后读取数据。
从文件中创建导入选项对象。
选择= detectImportOptions (“patients.xls”)
Sheet properties: Sheet: " Replacement properties: missinggrule: 'fill' ImportErrorRule: 'fill' Variable Import properties:使用setvartype VariableNames: {'LastName', 'Gender', 'Age'…{'char', 'char', 'double'…} SelectedVariableNames: {'LastName', 'Gender', 'Age'…和7}VariableOptions:显示所有10 VariableOptions访问VariableOptions sub-properties使用setvaropts / getvaropts PreserveVariableNames:假范围属性:DataRange:“A2”(启动细胞)VariableNamesRange:“A1”RowNamesRange: VariableDescriptionsRange:“VariableUnitsRange:显示一个表的预览,预览使用
修改选项对象以指定要导入的变量。
选择。SelectedVariableNames = {“收缩”,舒张压的};
采用可阅读与options对象一起导入指定的变量。
T = readtable (“patients.xls”、选择);总结(T)
变量:收缩期:100x1双值:Min 109中位数122 Max 138舒张期:100x1双值:Min 68中位数81.5 Max 99
可以读取表格数据,同时保留包含任何字符的变量名,包括空格和非ascii字符。首先,创建一个具有任意变量名的表,并将该表写入文本文件。然后,在保留原始变量名的同时,读入表格数据。
创建一个包含任意变量名的表,并将表格数据写入文件'sampletable.txt'.
'sampletable.txt'
LastName = {“桑切斯”;“约翰逊”;“李”;“Diaz”;“棕色”};年龄=[38,43岁,38;40;49);吸烟者=逻辑([1,0,1,0,1]);varNames = {“姓”,'年龄','吸烟者(1或0)'};t =表(姓氏,年龄,吸烟者,“VariableNames”varNames)
T =5×3表姓氏年龄吸烟者(1或0)___________ ________________ {'桑切斯'} 38真实{'约翰逊'} 43 false {'li'} 38 true {'diaz'} 40 false {brown'} 49真实
writetable (T)'sampletable.txt')
将表格数据读回使用可阅读.默认情况下,MATLAB®将任何包含空格和非ascii字符的变量名称转换为有效的MATLAB®标识符。例如,MATLAB®转换变量名“姓”来“姓”, 和'吸烟者(1或0)'来'samper_1or0_'.要在保留变量名的同时读取表格数据,请设置“PreserveVariableNames”参数真正的.
'吸烟者(1或0)'
'samper_1or0_'
“PreserveVariableNames”
真正的
t_preerve = readtable('sampletable.txt',“PreserveVariableNames”,真正的)
T_preserve =5×3表姓名年龄吸烟者(1或0 ) ___________ ___ _______________ {' 桑切斯的}38 43 0 1{“约翰逊”}{‘李’}38 1{“Diaz”}40 0{“棕色”}49 1
可以从文件中读取十六进制和二进制数,并将它们作为数字变量存储在表中。的可阅读函数自动读取十六进制和二进制数,当它们包含0 x和0 b分别为前缀。使用整数数据类型存储数值。您还可以使用导入选项在没有前缀时读取此类数字。
0 x
0 b
预览hexAndBinary.txt文件在文本编辑器中。它有带有前缀的十六进制数和二进制数列,还有一列没有前缀。
hexAndBinary.txt
阅读文件可阅读.函数检测的数字0 x和0 b前缀并将它们存储为整数。第三列没有前缀,因此它的值被视为文本。
T = readtable (“hexAndBinary.txt”)
T =3×4表Var1 Var2 Var3 Var4 _____ ____ ________ ___________ 255 255{‘C7F9}{‘Device1} 256年4{05男朋友'}{‘Device2} 43981 129{‘F00F} {' Device3 '}
的可阅读函数将不同整数类中的数值存储(uint16和uint8),因为T.var1.需要超过8位存储的值。
uint16
uint8
T.var1.
类(T.Var1)
ans = ' uint16 '
班级(t.var2)
ans = ' uint8 '
要指定用于存储从十六进制数和二进制数导入的数值的数据类型,请使用'hextype'和“BinaryType”名称值对参数。将值存储为符号为32位整数。
'hextype'
“BinaryType”
T = readtable (“hexAndBinary.txt”,'hextype',“int32”,“BinaryType”,“int32”);类(T.Var1)
ans ='int32'
您可以使用导入选项来检测没有前缀的十六进制数和二进制数,并为它们指定存储空间。的导入选项对象hexAndBinary.txt.
选择= detectImportOptions (“hexAndBinary.txt”)
opts = DelimitedTextImportOptions with properties: Format properties: Delimiter:{','}空白:'\b\t ' LineEnding: {'\n' '\r' '\r\n'} CommentStyle: {} ConsecutiveDelimitersRule: 'split' LeadingDelimitersRule: 'keep' EmptyLineRule: 'skip' Encoding: 'UTF-8'替换属性:missinggrule: 'fill' ImportErrorRule: 'fill' ExtraColumnsRule:'addvars'变量导入属性:使用setvartype VariableNames: {'Var1', 'Var2', 'Var3'…{'auto', 'auto', 'char'…{'Var1', 'Var2', 'Var3'…和1}VariableOptions:显示所有4 VariableOptions访问VariableOptions sub-properties使用setvaropts / getvaropts PreserveVariableNames:错误的位置属性:DataLines:[1正]VariableNamesLine: 0 RowNamesColumn: 0 VariableUnitsLine: 0 VariableDescriptionsLine: 0显示表的预览,预览使用
要指定第三列应该作为十六进制值导入,尽管没有前缀,请使用setvaropts.函数修改表中第三个变量的变量类型。将变量类型设置为int32.
setvaropts.
int32
选择= setvaropts(选择3“NumberSystem”,十六进制的,“类型”,“int32”)
opts = DelimitedTextImportOptions with properties: Format properties: Delimiter:{','}空白:'\b\t ' LineEnding: {'\n' '\r' '\r\n'} CommentStyle: {} ConsecutiveDelimitersRule: 'split' LeadingDelimitersRule: 'keep' EmptyLineRule: 'skip' Encoding: 'UTF-8'替换属性:missinggrule: 'fill' ImportErrorRule: 'fill' ExtraColumnsRule:'addvars'变量导入属性:使用setvartype VariableNames: {'Var1', 'Var2', 'Var3'…{'auto', 'auto', 'int32'…{'Var1', 'Var2', 'Var3'…和1}VariableOptions:显示所有4 VariableOptions访问VariableOptions sub-properties使用setvaropts / getvaropts PreserveVariableNames:错误的位置属性:DataLines:[1正]VariableNamesLine: 0 RowNamesColumn: 0 VariableUnitsLine: 0 VariableDescriptionsLine: 0显示表的预览,预览使用
读取文件并将第三列导入数字值,而不是文本。
T = readtable (“hexAndBinary.txt”选择)
T =3×4表Var1 Var2 Var3 Var4 _________ _____ ___________ 255 255 51193 {'Device1'} 256 4 1471 {'Device2'} 43981 129 61455 {'Device3'}
要读取的文件的名称,指定为字符向量或字符串标量。
根据你的文件的位置,文件名可以采取其中一种形式。
位置
形式
指定文件的名称文件名.
例子:“myFile.txt”
“myFile.txt”
文件夹中的文件
如果文件不在当前文件夹中或MATLAB路径上的文件夹中,则指定完整或相对路径名称文件名.
例子:“C: \ myFolder \ myFile.xlsx”
“C: \ myFolder \ myFile.xlsx”
例子:“dataDir \ myFile.txt”
“dataDir \ myFile.txt”
远程位置
如果文件存储在远程位置,则文件名必须包含指定为表单的统一资源定位器(URL)的文件的完整路径:
scheme_name:/ /path_to_file/my_file.ext
scheme_name
path_to_file
my_file.ext
根据你的地理位置scheme_name可以是该表中的值之一。
s3
wasb
wasbs
hdfs
有关更多信息,请参见使用远程数据.
例子:s3: / / bucketname / path_to_file / my_file.csv '
s3: / / bucketname / path_to_file / my_file.csv '
如果文件名包含文件扩展名,然后导入函数根据扩展名确定文件格式。否则,必须指定“文件类型”指定文件类型的名称-值对参数。
“文件类型”
在Windows上®与微软系统®Excel®软件,导入功能读取任何Excel电子表格文件格式识别您的Excel版本。
如果您的系统没有Excel for Windows,或者您正在使用MATLAB在线™时,导入函数使用UseExcel物业设为错误的,只读.xls、.xlsx、.xlsm、.xltx和.xltm文件。
错误的
.xls、.xlsx、.xlsm、.xltx和.xltm
对于带分隔符的文本文件,导入函数将文件中的空字段转换为任意一种南(对于数字变量)或空字符向量(用于文本变量)。文本文件中的所有行必须具有相同数量的分隔符。导入函数忽略文件中无关紧要的空白空间。
数据类型:字符|字符串
字符
字符串
SpreadsheetImportOptions
DelimitedtextImportOptions
FixedWidthImportOptions
文件导入选项,指定为SpreadsheetImportOptions,DelimitedTextImportOptions,或FixedWidthImportOptions由此创建的对象detectImportOptions函数。的选择对象包含控制数据导入过程的属性。有关每个对象属性的更多信息,请参阅相应的对象页面。
DelimitedTextImportOptions
指定可选的逗号分隔的对名称,价值参数。的名字是参数名称和价值为对应值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家.
的名字
价值
Name1, Value1,…,的家
“ReadVariableNames”,假的
当阅读:
文本文件,只有以下参数名称适用:文件类型,ReadVariableNames,ReadRowNames,treetasempty.,DatetimeType,分隔符,HeaderLines,格式,EmptyValue,MultipleDelimsAsOne,CollectOutput,CommentStyle,expchars.,EndOfLine,datelocale.,编码,HexType, 和BinaryType.
文件类型
treetasempty.
DatetimeType
分隔符
HeaderLines
格式
EmptyValue
MultipleDelimsAsOne
CollectOutput
CommentStyle
expchars.
EndOfLine
HexType
BinaryType
电子表格文件,只应用这些参数名称:文件类型,ReadVariableNames,ReadRowNames,treetasempty.,DatetimeType,表,范围,UseExcel, 和TextType.
范围
TextType
文本或电子表格文件选择导入选项,只有以下参数名称适用:ReadVariableNames,ReadRowNames,datelocale.,编码,表, 和UseExcel.
“文本”
'电子表格'
文件类型,指定为逗号分隔对,由“文件类型”和“文本”或'电子表格'.
指定“文件类型”时的名称-值对参数文件名不包括文件扩展名或扩展名是以下之一:
例子:“文件类型”、“文本”
“文件类型”、“文本”
'readvariablenames'
1
0
用于读取第一行的指示器作为变量名称,指定为包括的逗号分隔对'readvariablenames',要么真正的,错误的,1,或0.如果未指定的,可阅读自动检测变量名的存在。
指标
描述
当要读取的区域的第一行包含表的变量名时使用。可阅读为每个列创建一个具有检测到的变量名的变量T.
当要读取的区域的第一行包含表中的数据时。可阅读创建表单的默认变量名“Var1”,…,“VarN”,在那里N为变量的个数。
“Var1”,…,“VarN”
N
注意:如果'readvariablenames'和“ReadRowNames”逻辑指标真正的,然后可阅读将要读取的区域第一行的第一列中的名称保存为属性中的第一个维度名称,t.properties.dimensionnames..
“ReadRowNames”
如果您指定了ReadVariableNames论点选择导入选项,然后可阅读基于规范的行为更改:
如果ReadVariableNames是真正的,然后使用该文件从指定文件中读取变量名称VariableNamesRange或者是VariableNamesLine导入选项对象的属性。
VariableNamesRange
VariableNamesLine
如果ReadVariableNames是错误的,然后从VariableNames导入选项对象的属性。
VariableNames
将第一列作为行名读取的指示符,指定为逗号分隔对,由“ReadRowNames”,要么错误的,真正的,0,或1.
当要读取的区域的第一列包含数据而不是表的行名时使用。
当要读取的区域的第一列包含表的行名时使用。
如果您指定了ReadRowNames论点选择进口选项,然后是可阅读基于规范的行为更改:
如果ReadRowNames是真正的,然后使用。从指定的文件读取行名rownamerange.或者是RowNameColumn导入选项对象的属性。
rownamerange.
RowNameColumn
如果ReadRowNames是错误的,则不导入行名。
'trysasempty'
要作为空值处理的占位符文本,指定为由逗号分隔的对组成'trysasempty'字符向量、字符向量的单元数组、字符串或字符串数组。与这些字符对应的表元素被设置为南.
'trysasempty'仅适用于文件中的数字列可阅读不接受数字字面值,例如“-99”.
“-99”
例子:“TreatAsEmpty”、“N / A”或'treataSempty',“n / a”集N/A在数字列中南.
“TreatAsEmpty”、“N / A”
'treataSempty',“n / a”
N/A
例子:TreatAsEmpty,{“。”,“NA”、“N / A”}或“TreatAsEmpty”,(“。”,“NA”、“N / A”)集.,NA.和N/A在数字列中南.
TreatAsEmpty,{“。”,“NA”、“N / A”}
“TreatAsEmpty”,(“。”,“NA”、“N / A”)
.
NA.
“TextType”
“字符”
“字符串”
输入的文本数据的类型,指定为逗号分隔对,由“TextType”,要么“字符”或“字符串”.
“字符”-将文本数据导入MATLAB作为字符向量。
“字符串”-将文本数据导入MATLAB作为字符串数组。
例子:“TextType”、“生物炭”
“TextType”、“生物炭”
“DatetimeType”
“datetime”
“exceldatenum”
类型用于导入的日期和时间数据,指定为由“DatetimeType”和其中一个值:“datetime”,“文本”,或“exceldatenum”.的值“exceldatenum”仅适用于电子表格文件,对文本文件无效。
MATLAB约会时间数据类型
约会时间
有关更多信息,请参见约会时间.
如果“DatetimeType”被指定为“文本”,则导入的日期和时间数据的类型取决于“TextType”参数:
如果“TextType”被设置为“字符”,则导入函数以字符向量单元格数组的形式返回日期。
如果“TextType”被设置为“字符串”,则导入函数以字符串数组的形式返回日期。
Excel连续日期编号
序列日序是单个数字等于给定参考日期的天数。Excel序列日序号使用与Matlab序列日期号不同的其他参考日期。有关Excel日期的更多信息,请参阅https://金宝appsupport.microsoft.com/en-us/kb/214330.
https://金宝appsupport.microsoft.com/en-us/kb/214330
标志以保留变量名,指定为逗号分隔对,由PreserveVariableNames,要么真正的,或错误的.
PreserveVariableNames
真正的-保留不是有效的MATLAB标识符的变量名,例如包含空格和非ascii字符的变量名。
错误的-转换无效的变量名(由isvarname.函数)的有效MATLAB标识符。
isvarname.
从R2019B开始,变量名称和行名可以包含任何字符,包括空格和非ASCII字符。此外,它们可以从任何角色开始,而不仅仅是字母。变量和行名不必是有效的matlab标识符(由此确定)isvarname.功能)。要保留这些变量名和行名,请设置PreserveVariableNames来真正的.
“分隔符”
字段分隔符,指定为逗号分隔对,由“分隔符”字符向量,字符向量的单元格数组,或字符串。指定分隔符使用任何有效字符,如逗号”、“或一段时间“。”.
”、“
“。”
此表列出了一些常用的字段分隔字符。
说明符
字段分隔符
“逗号”
逗号
' '
“空间”
空间
' \ t '
'标签'
选项卡
';'
“半”
分号
'|'
'酒吧'
竖线
如果未指定的,可阅读自动检测分隔符。
若要将连续分隔符视为单个分隔符,请指定分隔符作为字符向量的单元格数组。此外,还必须指定MultipleDelimsAsOne选择。
例子:'delimiter',','或“分隔符”、“逗号”
'delimiter',','
“分隔符”、“逗号”
数据类型:字符|字符串|细胞
细胞
'标题线'
文件开头要跳过的行,指定为逗号分隔的对,由'标题线'一个正整数。如果未指定的,可阅读自动检测要跳过的行数。
数据类型:单|双
单
“格式”
“汽车”
列格式的文件,指定为逗号分隔对组成“格式”以及具有一个或多个转换说明符的字符向量或字符串标量,或“汽车”.的转换说明符与接受的说明符相同textscan.函数。
textscan.
指定格式可以显着提高一些大文件的速度。如果您未指定值格式,然后可阅读使用%Q.解释非数字列。的%Q.说明符读取文本并省略双引号(") 如果合适的话。
%Q.
"
如果不指定“格式”名称-值对,然后可阅读函数的行为就好像您已经使用了detectImportOptions函数导入数据。有关此行为后果的更多信息,请参阅兼容性考虑因素.
如果您指定“格式”、“汽车”,则创建的变量为双数组、字符向量的单元格数组或约会时间阵列,取决于数据。如果整个列是数字,则导入变量为双.如果列中的任何元素不是数字,则将变量作为字符向量的单元格数组导入,或作为约会时间如果值表示日期和时间,则阵列。
“EmptyValue”
分隔文本文件中的空数字字段的返回值,指定为逗号分隔的对,由“EmptyValue”和一个标量。
“MultipleDelimsAsOne”
0(假)
1(真正的)
多分隔处理,指定为逗号分隔的配对组成“MultipleDelimsAsOne”,要么真正的或错误的.如果真正的,则导入函数将连续分隔符视为单个分隔符。由空白分隔的重复分隔符也被视为单个分隔符。还必须指定分隔符选择。
例子:“MultipleDelimsAsOne”,1
“MultipleDelimsAsOne”,1
“CollectOutput”
确定数据连接的逻辑指示器,指定为逗号分隔对“CollectOutput”,要么真正的或错误的.如果真正的,然后导入函数将相同的MATLAB基本类的连续输出单元连接成单个数组。
'CommentStyle'
指定要忽略的文本的符号,指定为逗号分隔对'CommentStyle'字符向量、字符向量的单元数组、字符串或字符串数组。
例如,指定一个字符,例如“%”忽略同一行符号后面的文本。指定由两个字符向量组成的单元格数组,例如{'/*','*/'},以忽略这些序列之间的任何文本。
“%”
{'/*','*/'}
MATLAB只在每个字段的开头检查注释,而不是在字段内部。
例子:“CommentStyle ',{'/*','*/'}
“CommentStyle ',{'/*','*/'}
“ExpChars”
“eEdD”
指定为逗号分隔对的指数字符组成“ExpChars”和一个字符向量或字符串。默认的指数字符为e,E,d, 和D.
e
E
d
D
“EndOfLine”
作为逗号分隔对指定的行尾字符,由“EndOfLine”和一个字符向量或字符串。字符向量必须为“\ r \ n”或者必须指定单个字符。常见的行结束符是换行符('\ n')或回车(' \ r ').如果您指定“\ r \ n”,则导入函数处理其中的任何一个\r,\ n,以及两者的结合(\ r \ n)作为行尾字符。
“\ r \ n”
'\ n'
' \ r '
\r
\ n
\ r \ n
默认的行结束序列为\ n,\r,或\ r \ n,这取决于文件的内容。
如果在文件的最后一行末尾有缺失的值和行结束序列,那么导入函数将为这些字段返回空值。这确保了输出单元格数组中的单个单元格,C,大小相同。
C
例子:‘EndOfLine’,‘:’
‘EndOfLine’,‘:’
“DateLocale”
读取日期的区域设置,指定为逗号分隔的对,由“DateLocale”以及这种形式的字符向量或字符串标量xx_YY,地点:
xx_YY
xx
YY
YY是大写的ISO 3166-1 alpha-2代码,表示国家。
xx是小写的ISO 639-1两字母代码,表示一种语言。
有关区域设置的常见值列表,请参阅地区的名称-值对参数约会时间函数。
地区
使用时% D读取文本的格式说明符约会时间值,使用datelocale.要指定区域设置,导入函数应在其中解释月、日、周的名称和缩写。
如果您指定了datelocale.论点选择的,然后导入函数使用指定的值datelocale.参数,覆盖在导入选项中定义的区域设置。
例子:'datelocale','ja_jp'
'datelocale','ja_jp'
“编码”
“utf - 8”
“iso - 8859 - 1”
“windows - 1251”
“windows - 1252”
与文件关联的字符编码方案,指定为逗号分隔对,由“编码”和“系统”或标准字符编码方案名称。如果不指定任何编码,则可阅读函数在读取文件时使用自动字符集检测来确定编码。
“系统”
如果您指定了“编码”参数之外的参数,然后是可阅读函数使用指定的值“编码”,覆盖在导入选项中定义的编码。
例子:'编码','utf-8'使用UTF-8作为编码。
'编码','utf-8'
例子:“编码”、“系统”使用系统默认编码。
“编码”、“系统”
“DurationType”
“持续时间”
文本文件中持续时间数据的输出数据类型,指定为逗号分隔对,由“DurationType”,要么“持续时间”或“文本”.
MATLAB期间数据类型
期间
有关更多信息,请参见期间.
如果“DurationType”被指定为“文本”,然后导入持续时间数据的类型取决于指定的值“TextType”参数:
如果“TextType”是“字符”然后,导入函数将持续时间数据返回为字符向量的小区数组。
如果“TextType”是“字符串”,则导入函数将持续时间数据作为字符串数组返回。
“int8”
“int16”
输出数据类型的十六进制数据,指定为逗号分隔的对组成'hextype'和表中列出的值之一。
输入文件将十六进制值表示为文本,使用0 x或0 x作为前缀和字符0-9,一个-f, 和一个-F作为数字。(大写字母和小写字母代表相同的数字,例如,“0 xf”和“0 xf”两个代表15.)
9
一个
f
F
“0 xf”
15
导入函数将十六进制值转换为值指定的数据类型'hextype'.
的价值'hextype'
输出表变量的数据类型
自动检测的数据类型
改变输入文本
8位整数,签署了
16位整数,签署了
“int32”
32位整数,签名
'int64'
64位整数,签名
“uint8”
8位整数,无符号
“uint16”
16位整数,无符号
“uint32”
32位整数,无符号
“uint64”
64位整数,无符号
例子:'hextype','uint16'转换表示十六进制值的文本(例如'0xff')转换为无符号16位整数(例如255)。
'hextype','uint16'
'0xff'
255
二进制数据的输出数据类型,指定为逗号分隔对“BinaryType”和表中列出的值之一。
输入文件将二进制值表示为文本,使用其中之一0 b或0 b作为前缀和字符0和1作为数字。
的值指定的数据类型“BinaryType”.
的价值“BinaryType”
例子:'binarytype','uint16'转换表示二进制值的文本(例如“0 b11111111”)转换为无符号16位整数(例如255)。
'binarytype','uint16'
“0 b11111111”
“表”
要读取的工作表,指定为逗号分隔对,由“表”以及指示工作表索引的正整数或包含工作表名称的字符向量或字符串。工作表名称不能包含冒号(:).若要确定电子表格文件中的工作表名称,请使用表= sheetnames(文件名).有关更多信息,请参见sheetnames.
:
表= sheetnames(文件名)
sheetnames
如果您指定了表论点选择导入选项,然后可阅读函数使用指定的值表参数,重写在导入选项中定义的工作表名称。
例子:“表”,2
2
例子:“表”,“MySheetName”
“MySheetName”
数据类型:字符|字符串|单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
int8
int16
int64
uint64
'范围'
要阅读的工作表部分,用逗号分隔的对指定的矩形区域,由'范围'以及下列形式之一的字符向量或字符串标量。
'细胞'或(行坳)
'细胞'
(行坳)
从细胞
将数据的起始单元格指定为字符向量或字符串标量或双元素数字向量。
字符向量或字符串标量,包含excel的列字母和行号A1符号。例如,A5单元格的标识符是否位于列的交点一个和行5.
A1
A5
5
两个元素的数字向量的形式(行坳)表示起始行和列。
通过使用起始单元格,导入函数自动检测数据的范围,方法是在起始单元格开始导入,并在最后一个空行或页脚范围结束导入。
例子:'A5'或(5 - 1)
'A5'
(5 - 1)
'Corner1: Corner2'
Corner1: Corner2
矩形范围
使用语法指定范围'Corner1: Corner2',在那里Corner1和Corner2是两个相对的角落,用于定义该地区。例如,“D2: H4”代表两个角之间的3×5矩形区域D2和H4.在工作表上。的'范围'名称-值对参数不区分大小写,并使用Excel A1引用样式(参见Excel帮助)。
Corner1
Corner2
“D2: H4”
D2
H4.
例子:“范围”、“Corner1: Corner2
“范围”、“Corner1: Corner2
''
不明或空
如果未指定的,可阅读自动检测使用范围。
例子:“范围”,“
“范围”,“
注意:使用范围指电子表格中实际包含数据的矩形部分。可阅读自动检测使用范围通过修剪任何前导和尾随行和列不包含数据。只有空白的文本被认为是数据,并在使用范围内捕获。
'第一行:Row2'
第一行:Row2
行范围
可以通过使用Excel行指示符指定开始行和结束行来标识范围。然后可阅读自动检测指定行中使用的列范围。例如,可阅读解释范围规范'1:7'作为读取第1行到第7行(包括)中使用范围内的所有列的指令。
'1:7'
例子:'范围','1:7'
'范围','1:7'
'Column1: Column2'
Column1: Column2
列范围
可以通过使用Excel列指示符指定开始列和结束列来标识范围。然后可阅读自动检测指定列内已使用的行范围。例如,可阅读解释范围规范'A:F'作为一条指令,读取从列A到列F(包括)中使用范围内的所有行。
'A:F'
例子:'范围','A:F'
'范围','A:F'
'namedrange.'
namedrange.
Excel的命名范围
在Excel中,您可以创建名称以识别电子表格中的范围。例如,您可以选择电子表格的矩形部分并调用它“myTable”.如果电子表格中存在这样的命名范围,那么可阅读可以通过它的名字读取范围。
“myTable”
例子:“范围”、“myTable”
“范围”、“myTable”
例子:'范围',A1: F10的
A1: F10的
例子:'范围',“A1: F10”- - - - - -
“A1: F10”
“UseExcel”
的实例Microsoft Excel对于Windows,当读取电子表格数据时,指定为逗号分隔对,由“UseExcel”,要么真正的,或错误的.
您可以设置“UseExcel”参数设置为以下值之一:
真正的—导入功能在读取文件时启动Microsoft Excel实例。
错误的—导入功能在读取文件时不会启动Microsoft Excel实例。在此模式下操作时,导入函数功能的不同在于支持文件格式和交互特性,如公式和宏。金宝app
.xls、.xlsx、.xlsm、.xltx、.xltm、.xlsb、.ods
.xls, .xlsx, .xlsm, .xltx, .xltm
金宝app支持交互特性,如公式和宏
是的
没有
在Windows平台上读取电子表格文件时,如果要启动的实例Microsoft Excel,然后设置“UseExcel”参数真正的.
输出表,作为表返回。该表可以存储元数据,如描述,可变单位,变量名和行名称。有关更多信息,请参阅“属性”部分桌子.
桌子
XLSX格式的大文件有时加载缓慢。为了获得更好的导入和导出性能,Microsoft建议您使用XLSB格式。
全部展开
R2020A中的行为发生了变化
默认情况下,可阅读函数使用detectImportOptions函数,用于导入表格数据。本质上,这两个函数调用的行为是相同的。
T = readtable(filename,detectImportOptions(filename))
在R2020a中,的默认行为之间有几个不同之处可阅读它以前版本中的默认行为。
输入字段或行的描述
默认R2020a可阅读行为
以前版本中的默认行为
第一行没有作为输出表变量名分配的文本
分配的名字Var1,…,VarN作为输出表变量的名称
Var1,…,VarN
将第一行数据值中的值转换为输出表变量的名称
多行文本作为标题行
忽略其他标题线
按照检测到的数据类型导入剩余行中的值
将其他标题线作为输出表的第一个行中的文本导入文本
将其余行中的值导入为文本
空字段
将检测到的数据类型视为缺失值
将作为空字符向量或字符串对待
值引用
以检测到的数据类型处理
作为文本
无法转换的文本
非数字字符尾随数字字符,数字字符之间没有分隔符
将字符视为非数字
将数字和非数字字符视为分隔符分隔
输入文本文件的行具有不同数量的分隔符
返回带有额外变量的输出表
提高错误消息
打电话给可阅读使用它有最多的默认行为,它使用“格式”、“汽车”名称-值对的论点。
T = readtable(文件名,“格式”,“汽车”)
导入工具|detectImportOptions|预览|readcell|readmatrix.|readtimetable|readvars|setvaropts.|桌子|textscan.|writetable
预览
readcell
readmatrix.
readtimetable
readvars
writetable
在您的系统中存在这个示例的修改版本。你想打开这个版本吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系