主要内容

readtable

从文件创建表

描述

例子

T= readtable (文件名通过从文件中读取面向列的数据来创建表。

readtable从文件扩展名确定文件格式:

  • . txt,.dat,或. csv对于带分隔符的文本文件

  • xls,.xlsb,.xlsm,.xlsx,.xltm,.xltx,或。ods电子表格文件

  • . xml用于可扩展标记语言(XML)文件

  • 。docx微软®文档文件

  • . html,名为. xhtml的,或. htm的超文本标记语言(HTML)文件

对于文本和电子表格文件,readtable创建一个变量T并从文件的第一行读取变量名。对于XML文件,readtable创建一个变量T对于作为表变量检测的每个元素或属性节点。变量名对应于元素和属性名。为微软文字处理软件文档文件,readtable,默认情况下,从文档中的第一个表导入数据,并在T并从表的第一行读取变量名。对于HTML文件,readtable,默认情况下,从第一个导入数据<表>元素,并在中创建一个变量T并从表的第一行读取变量名。

默认情况下,readtable创建具有适合于在输入文件的每列中检测到的数据值的数据类型的变量。

例子

T= readtable (文件名,选择使用导入选项创建表选择

例子

T= readtable (___,名称,值使用由一个或多个名-值对参数指定的附加选项从文件创建表。例如,您可以指定是否readtable将文件的第一行作为变量名或数据读取。

要为数据设置特定的导入选项,可以使用选择对象,也可以指定名称-值对。指定名称-值对时选择,然后readtable金宝app仅支持以下名称-值对:

  • 文本和电子表格参数-ReadVariableNames,ReadRowNames

  • -纯文本参数DateLocale,编码

  • 只有电子表格参数-,UseExcel

例子

全部折叠

加载文件myCsvTable.dat并在文本编辑器中预览其内容。截图如下所示。注意,该文件包含以逗号分隔的面向列的数据。

文件名=“myCsvTable.dat”

从逗号分隔的文本文件创建一个表。生成的表T为文件和中的每一列包含一个变量readtable将文件第一行中的条目视为变量名。

T = readtable(文件名)
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开始,readtable函数读取输入文件,就像它自动调用detectImportOptions函数在文件上。它可以检测数据类型,丢弃额外的标题行,并填充缺失的值。

例如,预览文件headersAndMissing.txt在文本编辑器中。该文件有一行列名和另一行标题。最后两行有空白,前面的行有数据值。

从该文件创建一个表。的readtable函数丢弃头文件。此外,它还用适当的缺失值填补空白——a数值变量为值,文本为空字符向量。

T =可读的(“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

要恢复以前版本的默认行为,请指定“格式”、“汽车”名称-值对参数。readtable将标头作为数据读取,结果将所有表变量转换为文本。

T =可读的(“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在文本编辑器中。截图如下所示。注意,该文件包含以空格分隔的、面向列的数据。

从空格分隔的文本文件创建一个表。的readtable函数指定默认变量名Var1Var5因为文件的第一行中不包含可检测的列名。

T =可读的(“mySpaceDelimTable.txt”
T =3×5表Var1 Var2 Var3 Var4 Var5  _____ ____ ____ ______ _________ {' 45 45 M '}{“纽约”}{“真实”}{' F '} 41 32{“CA”}{“假”}{“M”}40 34{‘马’}{“假”}

加载文件myCsvTable.dat并在文本编辑器中预览其内容。截图如下所示。注意,该文件包含以逗号分隔的面向列的数据。

文件名=“myCsvTable.dat”

从逗号分隔的文本文件创建一个表。导入前两列作为字符向量,导入第三列为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,% uuint32

从文件中读取德语日期,并将其作为英语日期添加到表中。

预览文件german_dates.txt在文本编辑器中。截图如下所示。请注意,第一列值包含德语日期,第二列和第三列是数值。

读取示例文件使用readtable.转换说明符为% D日期和% f对于浮点值。属性指定文件编码FileEncoding名称-值对参数。属性指定日期的格式和区域设置DateLocale名称-值对参数。

T =可读的(“german_dates.txt”,“格式”,'%{dd MMMM yyyy}D %f %f',“FileEncoding”,“iso - 8859 - 15”,“DateLocale”,“de_DE”
T =3×3表Var1 Var2 Var3 ________________ _________ 2014年1月01日20.2 100.5 2014年2月01日21.6 102.7 2014年3月01日20.7 99.8

从电子表格创建一个表,其中第一行包含变量名,第一列包含行名。

T =可读的(“patients.xls”,“ReadRowNames”,真正的);

显示表的前5行和前4个变量。

T (1:5, 1:4)
ans =5×4表性别年龄位置高度  __________ ___ _____________________________ ______ 史密斯{‘男性’}38{县综合医院的}71年约翰逊43{‘男性’}{VA医院的}69年威廉姆斯{‘女性’}38{圣。玛丽医疗中心64琼斯{'女' 40 {'VA医院' 67布朗{'女' 49{'县总医院' 64

查看DimensionNames属性。

T.Properties.DimensionNames
ans =1 x2单元格{' LastName}{}“变量”

“姓”是电子表格第一行的第一列中的名称。

使用电子表格中指定区域的数据创建一个表patients.xls.使用角之间5 × 3矩形区域的数据C2而且E6.不要使用该区域的第一行作为变量名。

T =可读的(“patients.xls”,“范围”,“C2: E6”,“ReadVariableNames”假)
T = Var1 Var2 Var3 ____ ___________________________ ____ 38 '县总医院' 71 43 '退伍军人医院' 69 38 '圣玛丽医疗中心' 64 40 '退伍军人医院' 67 49 '县总医院' 64

T包含默认变量名。

创建导入选项,为多个变量定制数据类型,然后读取数据。

从文本文件创建导入选项对象。

opts = detectImportOptions(“airlinesmall.csv”
opts = DelimitedTextImportOptions带属性:格式属性:分隔符:{','}空白:'\b\t ' LineEnding: {'\n' '\r' '\r\n'} CommentStyle: {} ConsecutiveDelimitersRule: 'split' LeadingDelimitersRule: 'keep' TrailingDelimitersRule: 'ignore' EmptyLineRule: 'skip' Encoding: 'ISO-8859-1'替换属性:MissingRule: 'fill' ImportErrorRule: 'fill' ExtraColumnsRule: 'addvars'变量导入属性:使用setvartype VariableNames按名称设置类型:{“年”、“月”、“月之日”……和26个}变量类型:{'double', 'double', 'double'…和26个}selectedvariablename:{'年','月','月日'…使用setvaropts/getvaropts VariableNamingRule: 'modify'位置属性:DataLines: [2 Inf] VariableNamesLine: 1 RowNamesColumn: 0 VariableUnitsLine: 0 VariableDescriptionsLine: 0要显示表的预览,使用preview

检查类型变量的性质TaxiIn而且TaxiOut

getvaropts(选择,{“TaxiIn”,“TaxiOut”})
ans = 1x2 TextVariableImportOptions数组属性:名称类型FillValue TreatAsMissing QuoteRule Prefixes suffix EmptyFieldRule WhitespaceRule

改变变量的类型TaxiIn而且TaxiOut

选项= setvartype(选项,{“TaxiIn”,“TaxiOut”},“双”);

指定要导入和检查的变量子集。

选择。SelectedVariableNames = {“TaxiIn”,“TaxiOut”};

使用readtable函数和options对象一起导入所选变量。显示表的摘要。

T =可读的(“airlinesmall.csv”、选择);总结(T)
变量:TaxiIn: 123523x1 double值:Min 0 Median 5 Max 1451 NumMissing 37383 TaxiOut: 123523x1 double值:Min 0 Median 13 Max 755 NumMissing 37364

检测电子表格文件的导入选项,指定要导入的变量,然后读取数据。

从文件创建导入选项对象。

opts = detectImportOptions(“patients.xls”
替换属性:MissingRule: 'fill' ImportErrorRule: 'fill'变量导入属性:使用setvartype VariableNames:{'姓氏','性别','年龄'按名称设置类型…变量类型:{'char', 'char', 'double'…SelectedVariableNames:{'姓','性别','年龄'…使用setvaropts/getvaropts VariableOptions:显示所有10个VariableOptions访问VariableOptions子属性VariableNamingRule: 'modify' Range Properties: DataRange: 'A2' (Start Cell) VariableNamesRange: 'A1' RowNamesRange: " VariableUnitsRange: " VariableDescriptionsRange: "要显示表格的预览,请使用preview

修改options对象以指定要导入哪些变量。

选择。SelectedVariableNames = {“收缩”,舒张压的};

使用readtable连同options对象一起导入指定的变量。

T =可读的(“patients.xls”、选择);总结(T)
变量:收缩压:100x1 double值:Min 109中位数122最大138舒张压:100x1 double值:Min 68中位数81.5最大99

您可以读取表格数据,同时保留包含任何字符(包括空格和非ascii字符)的变量名。首先,用任意变量名创建一个表,并将该表写入一个文本文件。然后,在保留原始变量名的同时读入表格数据。

创建一个包含任意变量名的表,并将表格数据写入文件“sampletable.txt”

姓氏= {“桑切斯”“约翰逊”“李”“Diaz”“棕色”};年龄= [38;43;38;40;49];吸烟者=逻辑([1;0;1;0;1]);varNames = {“姓”,“年龄”,“吸烟者(1或0)”};T = table(姓氏,年龄,吸烟者,“VariableNames”varNames)
T =5×3表姓名年龄吸烟者(1或0 ) ___________ ___ _______________ {' 桑切斯的38}真{“约翰逊”}43假{‘李’}38真{“Diaz”}40假{“棕色”}49真的
writetable (T)“sampletable.txt”

使用读取表格数据readtable.默认情况下,MATLAB®将任何包含空格和非ascii字符的变量名转换为有效的MATLAB®标识符。例如,MATLAB®转换变量名“姓”“姓”,“吸烟者(1或0)”“Smoker_1or0_”.若要在保留变量名的同时读取表格数据,请设置“VariableNamingRule”参数保存

T_preserve = readtable(“sampletable.txt”,“VariableNamingRule”,“保存”
T_preserve =5×3表姓名年龄吸烟者(1或0 ) ___________ ___ _______________ {' 桑切斯的}38 43 0 1{“约翰逊”}{‘李’}38 1{“Diaz”}40 0{“棕色”}49 1

您可以从文件中读取十六进制数和二进制数,并将它们作为数值变量存储在表中。的readtable方法时,自动读取十六进制数和二进制数0 x而且0 b前缀。数值使用整数数据类型存储。当这些数字没有前缀时,还可以使用导入选项读取它们。

预览hexAndBinary.txt文件在文本编辑器。它有带前缀的十六进制数和二进制数列,还有一列没有前缀。

读取文件readtable.该函数检测带有的数字0 x而且0 b前缀并将它们存储为整数。第三列没有前缀,因此它的值被视为文本。

T =可读的(“hexAndBinary.txt”
T =3×4表Var1 Var2 Var3 Var4  _____ ____ ________ ___________ 255 255{‘C7F9}{‘Device1} 256年4{05男朋友'}{‘Device2} 43981 129{‘F00F} {' Device3 '}

readtable函数将数值存储在不同的整数类中(uint16而且uint8),因为T.Var1具有一个需要超过8位存储空间的值。

类(T.Var1)
Ans = 'uint16'
类(T.Var2)
Ans = 'uint8'

若要指定用于存储从十六进制和二进制数导入的数值的数据类型,请使用“HexType”而且“BinaryType”名称-值对参数。将值存储为有符号的32位整数。

T =可读的(“hexAndBinary.txt”,“HexType”,“int32”,“BinaryType”,“int32”);类(T.Var1)
Ans = 'int32'
类(T.Var2)
Ans = 'int32'

可以使用导入选项检测没有前缀的十六进制和二进制数,并为它们指定存储空间。的导入选项对象hexAndBinary.txt

opts = detectImportOptions(“hexAndBinary.txt”
opts = DelimitedTextImportOptions带属性:格式属性:分隔符:{','}空白:'\b\t ' LineEnding: {'\n' '\r' '\r\n'} CommentStyle: {} ConsecutiveDelimitersRule: 'split' LeadingDelimitersRule: 'keep' TrailingDelimitersRule: 'ignore' EmptyLineRule: 'skip' Encoding: 'UTF-8'替换属性:MissingRule: 'fill' ImportErrorRule: 'fill' ExtraColumnsRule: 'addvars'变量导入属性:按名称设置类型setvartype VariableNames: {'Var1', 'Var2', 'Var3'…{'auto', 'auto', 'char'…SelectedVariableNames: {'Var1', 'Var2', 'Var3'…使用setvaropts/getvaropts VariableNamingRule: 'modify'位置属性:DataLines: [1 Inf] VariableNamesLine: 0 RowNamesColumn: 0 VariableUnitsLine: 0 VariableDescriptionsLine: 0要显示表格的预览,使用preview

若要指定第三列应该作为十六进制值导入(尽管没有前缀),请使用setvaropts函数修改表中第三个变量的变量类型。将变量类型设置为int32

选项= setvaropts(选项,3,“NumberSystem”,十六进制的,“类型”,“int32”
opts = DelimitedTextImportOptions带属性:格式属性:分隔符:{','}空白:'\b\t ' LineEnding: {'\n' '\r' '\r\n'} CommentStyle: {} ConsecutiveDelimitersRule: 'split' LeadingDelimitersRule: 'keep' TrailingDelimitersRule: 'ignore' EmptyLineRule: 'skip' Encoding: 'UTF-8'替换属性:MissingRule: 'fill' ImportErrorRule: 'fill' ExtraColumnsRule: 'addvars'变量导入属性:按名称设置类型setvartype VariableNames: {'Var1', 'Var2', 'Var3'…变量类型:{'auto', 'auto', 'int32'…SelectedVariableNames: {'Var1', 'Var2', 'Var3'…使用setvaropts/getvaropts VariableNamingRule: 'modify'位置属性:DataLines: [1 Inf] VariableNamesLine: 0 RowNamesColumn: 0 VariableUnitsLine: 0 VariableDescriptionsLine: 0要显示表格的预览,使用preview

读取文件并导入第三列作为数值,而不是文本。

T =可读的(“hexAndBinary.txt”选择)
T =3×4表Var1 Var2 Var3 Var4 _________ _____ ___________ 255 255 51193 {'Device1'} 256 4 1471 {'Device2'} 43981 129 61455 {'Device3'}

为XML文件创建XML导入选项,指定要导入的变量,然后读取数据。

XML文件students.xml有四个兄弟节点命名学生,每个都包含相同的子节点和属性。

类型students.xml
<?XML版本="1.0"编码="utf-8"?> <学生> <学号="S11305"> <姓名FirstName="Priya" LastName="Thompson" /> <年龄>18 <年级>新生 <地址> <街道xmlns="//www.tatmou.com/se/">591 Spring Lane <城市>Natick <州>MA  <专业>计算机科学 <辅修>英语文学  <学生> <学生ID="S23451"> <名字FirstName="Conor" LastName="Cole" /> <年龄>18 <年级> <地址> <街道xmlns="//www.tatmou.com/se/">4641 Pearl StreetSan Francisco CA  Microbiology Public Health    21 Senior 
30 Highland Road Detriot MI
Political Science
19 Sophomore
3388 Moore Avenue Fort Worth TX
Business Japanese Language
20 Sophomore
3388 Moore Avenue Fort Worth TX
Business Japanese Language
22 Senior
22 Angie Drive Los Angeles CA
Mechanical Engineering Architecture
21 Junior
65 Decatur Lane Trenton ME
Economics Art History

创建一个XMLImportOptions对象。指定的值VariableSelectors作为/ / @FirstName若要选择FirstName元素节点作为表变量导入。

opts = xmlImportOptions(“VariableSelectors”," / / @FirstName”
替换属性:MissingRule: "fill" ImportErrorRule: "fill" RepeatedNodeRule: "addcol"变量导入属性:按名称设置类型使用setvartype VariableNames: "Var1" VariableTypes: "char" SelectedVariableNames: "Var1" VariableOptions:显示所有1个VariableOptions访问VariableOptions子属性使用setvaropts/getvaropts VariableNamingRule: "preserve"位置属性:TableSelector:  RowSelector: variableelectors: "//@FirstName" VariableUnitsSelector:  VariableDescriptionsSelector:  RowNamesSelector:  RegisteredNamespaces: [0x2 string]

使用readtable连同options对象一起导入指定的变量。

T =可读的(“students.xml”选择)
T =7×1表Var1  __________ {' Priya’}{康纳的}{“摩根”}{萨利姆的}{萨利姆的}{“达尼亚”}{' Rikki '}

属性将自定义XML名称空间前缀注册到输入文件中的现有名称空间URLRegisteredNamespaces名称-值参数。

创建一个XMLImportOptions对象从XML文件。属性的XPath表达式元素节点的值“VariableSelectors”,并注册前缀myPrefix对象的URL节点。

opts = detectImportOptions(“students.xml”,“RegisteredNamespaces”, [“myPrefix”,“//www.tatmou.com”],“VariableSelectors”," / / myPrefix:街”
替换属性:MissingRule: "fill" ImportErrorRule: "fill" RepeatedNodeRule: "addcol"变量导入属性:按名称设置类型使用setvartype VariableNames: "Street" VariableTypes: "string" SelectedVariableNames: "Street" VariableOptions:显示所有1个VariableOptions访问VariableOptions子属性使用setvaropts/getvaropts VariableNamingRule: "preserve"位置属性:TableSelector:  RowSelector: variableelectors: "//myPrefix:Street" VariableUnitsSelector:  VariableDescriptionsSelector:  RowNamesSelector:  RegisteredNamespaces: ["myPrefix" "//www.tatmou.com/se/"]

使用readtable函数连同options对象一起导入所选变量。

T2 =可读(“students.xml”选择)
T2 =7×1表街道___________________“春巷591号”“珍珠街4641号”“高地路30号”“摩尔大道3388号”“摩尔大道3388号”“安吉道22号”“迪凯特巷65号”

readtable函数,默认情况下,从Microsoft Word文档文件中读取第一个表。该文件MaintenanceReport.docx包含两个表。第二个表的最后一行包含一个单元格,该单元格的合并列与表变量不匹配。

属性读取第二个表TableIndex选项2.若要跳过具有合并列的单元格的行,请设置MergedCellColumnRule选项“omitrow”

文件名=“MaintenanceReport.docx”;T = readtable(文件名,“TableIndex”2,“MergedCellColumnRule”,“omitrow”
T =3×5表类别描述紧急解决成本  _____________________________________________________________________ ____________________ ________ __________________ ________ " 项目是偶尔陷入扫描仪卷。”“机械故障”“中等”“重新调整机”“45美元”“组装活塞发出巨大的嘎嘎声和砰砰声。”“机械故障”“中等”“重新调整机器”“35美元”“启动工厂时,电源会被切断。”“电子故障”“高”“全部更换”“$16200”

方法使用XPath选择器选择表TableSelector选择。要选择包含文本“Description”的Microsoft Word文档表,请使用XPath选择器" / / w:资源描述(包含(“描述”))”

T = readtable(文件名,“TableSelector”," / / w:资源描述(包含(“描述”))”,“MergedCellColumnRule”,“omitrow”
T =3×5表类别描述紧急解决成本  _____________________________________________________________________ ____________________ ________ __________________ ________ " 项目是偶尔陷入扫描仪卷。”“机械故障”“中等”“重新调整机”“45美元”“组装活塞发出巨大的嘎嘎声和砰砰声。”“机械故障”“中等”“重新调整机器”“35美元”“启动工厂时,电源会被切断。”“电子故障”“高”“全部更换”“$16200”

从URL中读取第一个表//www.tatmou.com/help/matlab/text-files.html包含文本“readtable”使用XPath选择器" / /表(包含(“readtable”)]”.表没有标题行,因此设置ReadVariableNames选项

url =“//www.tatmou.com/help/matlab/text-files.html”;T = readtable(url,“TableSelector”," / /表(包含(“readtable”)]”,“ReadVariableNames”假)
T =4×2表Var1 Var2 ________________ ____________________________ "readtable" "从文件创建表" "writetable" "写表文件" " read时间表" "从文件创建时间表" " write时间表" "写时间表文件"

输入参数

全部折叠

要读取的文件的名称,指定为字符向量或字符串标量。

根据文件的位置,文件名可以变成这些形式之一。

位置

形式

MATLAB中的当前文件夹或文件夹®路径

中指定文件的名称文件名

例子:“myFile.txt”

文件夹中的文件

如果文件不在当前文件夹或MATLAB路径上的文件夹中,则在中指定完整或相对路径名文件名

例子:“C: \ myFolder \ myFile.xlsx”

例子:“dataDir \ myFile.txt”

互联网网址

如果文件指定为internet统一资源定位符(URL),则文件名必须包含协议类型“http://”“https://”

例子:“http://hostname/path_to_file/my_data.csv”

远程位置

如果文件存储在远程位置,则文件名必须包含由表单指定的文件的完整路径:

scheme_name: / /path_to_file/my_file.ext

根据位置的远近scheme_name可以是本表中的值之一。

远程位置 scheme_name
Amazon S3™ s3
Windows Azure®Blob存储 wasb,wasbs
HDFS™ hdfs

有关更多信息,请参见使用远程数据

例子:s3: / / bucketname / path_to_file / my_file.csv '

  • 如果文件名包含文件扩展名,然后导入函数从扩展名确定文件格式。否则,必须指定“文件类型”名称-值对参数来指示文件类型。

  • 在Windows上®microsoftexcel系统®软件,导入功能读取任何Excel电子表格文件格式认可的Excel版本。

  • 如果你的系统没有Excel for Windows或者你正在使用MATLAB在线™时,导入函数与UseExcel属性设置为,只读.xls, .xlsx, .xlsm, .xltx和.xltm文件。

  • 对于带分隔符的文本文件,导入函数将文件中的空字段转换为任意一个(对于数值变量)或空字符向量(对于文本变量)。文本文件中的所有行必须具有相同数量的分隔符。导入函数忽略文件中不重要的空白。

数据类型:字符|字符串

文件导入选项SpreadsheetImportOptions,DelimitedTextImportOptions,FixedWidthImportOptions,XMLImportOptions,WordDocumentImportOptions,或HTMLDocumentImportOptions对象创建的detectImportOptions函数。的选择对象包含控制数据导入过程的属性。有关每个对象属性的更多信息,请参阅相应的对象页面。

文件类型 输出
电子表格文件 SpreadsheetImportOptions对象(仅对,DataRange,VariableNames属性)
文本文件 DelimitedTextImportOptions对象
固定宽度的文本文件 FixedWidthImportOptions对象
XML文件 XMLImportOptions对象
微软文字处理软件文档文件 WordDocumentImportOptions对象
HTML文件 HTMLImportOptions对象

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:“ReadVariableNames”,假的指示文件的第一行与变量名不对应。

所有支持金宝app的文件类型

全部折叠

文件类型,指定为逗号分隔的对,由“文件类型”其中一个值。

价值 导入选项
“表格”

SpreadsheetImportOptions

“文本”

DelimitedTextImportOptionsFixedWidthImportOptions这取决于文本文件的布局。

“delimitedtext”

DelimitedTextImportOptions,对于列由分隔符分隔的文本文件使用此选项。

“fixedwidth”

FixedWidthImportOptions,将此选项用于具有固定宽度列的文本文件。

“xml”

XMLImportOptions,对XML文件使用此选项。

“worddocument”

WordDocumentImportOptions,使用此选项微软文字处理软件文档文件。

“html”

HTMLImportOptions,对HTML文件使用此选项。

使用“文件类型”时的名称-值对参数文件名不包括文件扩展名,或者扩展名不是以下类型之一:

  • . txt,.dat,或. csv对于文本文件

  • xls,.xlsb,.xlsm,.xlsx,.xltm,.xltx,或。ods电子表格文件

  • . xml,适用于XML文件

  • 。docx微软文字处理软件文档文件

  • . html,名为. xhtml的,或. htmHTML文件

例子:“文件类型”、“文本”

数据类型:字符|字符串

将第一列读取为行名的指示器,指定为逗号分隔的对,由“ReadRowNames”,要么,真正的,0,或1

指示器

描述

当要读取的区域的第一列包含数据,而不是表的行名时使用。

真正的

当要读取的区域的第一列包含表的行名时使用。

未指明的 如果没有指明,readtable假设

注意:如果两者都“ReadVariableNames”而且“ReadRowNames”逻辑指标包括真正的,然后readtable保存要读取为属性中的第一个维度名称的区域的第一行的第一列中的名称,T.Properties.DimensionNames

如果您指定ReadRowNames参数,除了选择导入选项,然后readtable行为根据规范改变:

  • 如果ReadRowNames真正的方法从指定文件中读取行名RowNamesRange或者是RowNameColumn导入选项对象的属性。

  • 如果ReadRowNames,则不导入行名。

例子:“ReadRowNames”,真的

作为空值处理的占位符文本,指定为逗号分隔的对,由“TreatAsMissing”还有一个字符向量,字符向量的单元格数组,字符串,或者字符串数组。与这些字符对应的表元素被设置为

“TreatAsMissing”仅适用于表中的数字列,和readtable不接受数字字面值,例如“-99”

例子:“TreatAsMissing”、“N / A”“TreatAsMissing”、“N / A”N/A在数值列内

例子:TreatAsMissing,{“。”,“NA”、“N / A”}“TreatAsMissing”,(“。”,“NA”、“N / A”),NA而且N/A在数值列内

数据类型:字符|字符串

类型,指定为逗号分隔的对,由“TextType”,要么“字符”“字符串”

  • “字符”-将文本数据作为字符向量导入MATLAB。

  • “字符串”-将文本数据导入MATLAB作为字符串数组。

例子:“TextType”、“生物炭”

类型导入的日期和时间数据,指定为逗号分隔的对,由“DatetimeType”其中一个价值观是:“datetime”,“文本”,或“exceldatenum”.的值“exceldatenum”仅适用于电子表格文件,对文本文件无效。

价值 导入日期和时间数据的类型
“datetime”

MATLABdatetime数据类型

有关更多信息,请参见datetime

“文本”

如果“DatetimeType”指定为“文本”属性中指定的值,则导入的日期和时间数据的类型取决于“TextType”参数:

  • 如果“TextType”设置为“字符”,则导入函数将日期作为字符向量的单元格数组返回。

  • 如果“TextType”设置为“字符串”,然后导入函数以字符串数组的形式返回日期。

“exceldatenum”

Excel序列号

连续日期编号是与给定参考日期之后的天数相等的单个数字。Excel序列号与MATLAB序列号使用不同的参考日期。有关Excel日期的详细信息,请参见https://金宝appsupport.microsoft.com/en-us/kb/214330

例子:“DatetimeType”、“日期时间的

数据类型:字符|字符串

标记以保留变量名,指定为任意一种“修改”“保存”

  • “修改”-转换无效的变量名(由isvarname函数)到有效的MATLAB标识符。

  • “保存”-保留不是有效MATLAB标识符的变量名,例如包含空格和非ascii字符的变量名。

从R2019b开始,变量名和行名可以包含任何字符,包括空格和非ascii字符。此外,他们可以从任何字符开始,而不仅仅是字母。变量名和行名不必是有效的MATLAB标识符(由isvarname功能)。若要保留这些变量名和行名,请设置值VariableNamingRule“保存”.的值时,变量名不会刷新VariableNamingRule“修改”“保存”

例子:“VariableNamingRule”、“保存”

数据类型:字符|字符串

过程来管理缺失的数据,该数据指定为本表中的值之一。

失踪的规则 行为
“填满”

的内容替换缺失的数据FillValue财产。

FillValue属性中指定VariableImportOptions正在导入的变量的。有关访问的详细信息FillValue财产,看到getvaropts

“错误” 停止导入并显示错误消息,显示丢失的记录和字段。
“omitrow” 省略包含缺失数据的行。
“omitvar” 省略包含缺失数据的变量。

例子:“MissingRule”、“omitrow”

数据类型:字符|字符串

过程来处理导入错误,该错误指定为本表中的值之一。

导入错误规则 行为
“填满”

类的内容替换发生错误的数据FillValue财产。

FillValue属性中指定VariableImportOptions正在导入的变量的。有关访问的详细信息FillValue财产,看到getvaropts

“错误” 停止导入并显示错误消息,显示导致错误的记录和字段。
“omitrow” 省略发生错误的行。
“omitvar” 省略发生错误的变量。

例子:“ImportErrorRule”、“omitvar”

数据类型:字符|字符串

HTTPHTTPS请求选项,作为weboptions对象。的weboptions对象确定在指定时如何导入数据文件名internet URL是否包含该协议类型“http://”“https://”

文本和电子表格文件

全部折叠

指示符,用于将第一行读取为变量名,指定为逗号分隔的对,由“ReadVariableNames”,要么真正的,,1,或0.如果未指定的,readtable自动检测变量名的存在。

指示器

描述

真正的

当要读取的区域的第一行包含表的变量名时使用。readtable中的每一列都创建一个具有检测到的变量名的变量T

当要读取的区域的第一行包含表中的数据时使用。readtable创建表单的默认变量名“Var1”,…,“VarN”,在那里N是变量的数量。

未指明的 如果没有指明,readtable自动检测真正的并相应地进行。

注意:如果两者都“ReadVariableNames”而且“ReadRowNames”逻辑指标包括真正的,然后readtable保存要读取为属性中的第一个维度名称的区域的第一行的第一列中的名称,T.Properties.DimensionNames

如果您指定ReadVariableNames参数,除了选择导入选项,然后readtable行为根据规范改变:

  • 如果ReadVariableNames真正的,然后从指定文件中读取变量名VariableNamesRange或者是VariableNamesLine导入选项对象的属性。

  • 如果ReadVariableNames,然后从VariableNames导入选项对象的属性。

例子:“ReadVariableNames”,真的

变量的预期数目,指定为由逗号分隔的对组成“ExpectedNumVariables”一个正整数。如果未指定,导入函数将自动检测变量的数量。

例子:“ExpectedNumVariables”,5

数据类型:|

仅限文本文件

全部折叠

字段分隔符字符,指定为逗号分隔的对,由“分隔符”一个字符向量,一个字符向量的单元格数组,或者一个字符串。指定分隔符使用任何有效字符,如逗号”、“或者一个周期“。”

该表列出了一些常用的字段分隔符。

说明符

字段分隔符

”、“

“逗号”

逗号

' '

“空间”

空间

' \ t '

“标签”

选项卡

“;”

“半”

分号

“|”

“酒吧”

竖线

未指明的

如果未指定的,readtable自动检测分隔符。

若要将连续分隔符视为单个分隔符,请指定分隔符作为字符向量的单元格数组。此外,还必须指定MultipleDelimsAsOne选择。

例子:“分隔符”、“,”“分隔符”、“逗号”

数据类型:字符|字符串|细胞

过程来管理分隔文本文件中的前导分隔符,该分隔符作为本表中的值之一指定。

前导分隔符规则 行为
“保持” 保留分隔符。
“忽略” 忽略分隔符。
“错误” 返回错误并中止导入操作。

例子:“LeadingDelimitersRule”,“保持”

过程来管理带分隔符的文本文件中的尾随分隔符,该分隔符作为本表中的值之一指定。

前导分隔符规则 行为
“保持” 保留分隔符。
“忽略” 忽略分隔符。
“错误” 返回错误并中止导入操作。

例子:“TrailingDelimitersRule”,“保持”

过程处理分隔文本文件中的连续分隔符,该分隔符指定为本表中的值之一。

连续分隔符规则 行为
“分裂” 将连续的分隔符拆分为多个字段。
“加入” 将分隔符合并为一个分隔符。
“错误” 返回错误并中止导入操作。

例子:“ConsecutiveDelimitersRule”、“分裂”

数据类型:字符|字符串

固定宽度文本文件中变量的字段宽度,指定为正整数值的向量。向量中的每个正整数对应于组成变量的字段中的字符数。的VariableWidths属性中指定的每个变量对应的项VariableNames财产。

例子:“VariableWidths”,[7]10、7、4、26日

要作为空白处理的字符,指定为包含一个或多个字符的字符向量或字符串标量。

例子:“空白”、“_”

例子:“空白”、“? !”

过程来处理数据中的空行,指定为“跳过”,“读”,或“错误”.导入函数将空白解释为空。

空行规则 行为
“跳过” 跳过空行。
“读” 导入空行。导入函数使用中指定的值解析空行VariableWidths,VariableOptions,MissingRule,以及其他相关属性,例如空格
“错误” 显示错误消息并中止导入操作。

例子:“EmptyLineRule”,“跳过”

数据类型:字符|字符串

变量名称位置,指定为正标量整数。的VariableNamesLine属性指定变量名所在的行号。

如果VariableNamesLine指定为0,则不导入变量名。否则,从指定的行中导入变量名。

例子:“VariableNamesLine”6

数据类型:||uint8|uint16|uint32|uint64

过程来处理数据中的部分字段,这些字段指定为本表中的值之一。

部分字段规则 行为
“保持”

保留部分字段数据并将文本转换为适当的数据类型。

在某些情况下,当导入函数无法解释部分数据时,可能会发生转换错误。

“填满”

的内容替换缺失的数据FillValue财产。

FillValue属性中指定VariableImportOptions正在导入的变量的。有关访问的详细信息FillValue财产,看到getvaropts

“omitrow” 省略包含部分数据的行。
“omitvar” 省略包含部分数据的变量。
“包装” 开始阅读下一行字符。
“错误” 显示错误消息并中止导入操作。

例子:“PartialFieldRule”,“保持”

数据类型:字符|字符串

变量单位位置,指定为正标量整数。的VariableUnitsLine属性指定变量单元所在的行号。

如果VariableUnitsLine指定为0时,则不导入变量单位。否则,从指定的行中导入变量单元。

例子:“VariableUnitsLine”,8

数据类型:||uint8|uint16|uint32|uint64

变量描述位置,指定为正标量整数。的VariableDescriptionsLine属性指定变量描述所在的行号。

如果VariableDescriptionsLine指定为0,则不导入变量描述。否则,从指定的行导入变量描述。

例子:“VariableDescriptionsLine”7

数据类型:||uint8|uint16|uint32|uint64

过程处理数据中的额外列,这些列指定为本表中的值之一。

额外列规则 行为
“addvars”

要导入额外的列,请创建新变量。如果有N额外列,然后导入新变量为“ExtraVar1”、“ExtraVar2’,……、“ExtraVarN”

注意:额外的列作为数据类型的文本导入字符

“忽略” 忽略额外的数据列。
“包装” 将额外的数据列包装到新记录中。这个操作不会改变变量的数量。
“错误” 显示错误消息并中止导入操作。

例子:“ExtraColumnsRule”、“addvars”

数据类型:字符|字符串

文件开头要跳过的标题行数,指定为逗号分隔的对,由“NumHeaderLines”一个正整数。如果未指定的,readtable自动检测要跳过的行数。

例子:“NumHeaderLines”,2

数据类型:|

文件的列格式,指定为由逗号分隔的对组成“格式”以及具有一个或多个转换说明符的字符向量或字符串标量“汽车”.类型所接受的说明符与转换说明符相同textscan函数。

指定格式可以显著提高一些大型文件的速度。如果没有指定值格式,然后readtable使用%问解释非数字列。的%问说明符读取文本并省略双引号()。

  • 如果没有指定“格式”名称-值对,然后readtable函数的行为就好像您使用了detectImportOptions函数导入数据。有关此行为的后果的详细信息,请参见兼容性的考虑

  • 如果你指定“格式”、“汽车”,则创建的变量为数组,字符向量的单元格数组,或者datetime数组,取决于数据。如果整个列都是数值,则变量被导入为.如果列中的任何元素不是数字,则变量将作为字符向量的单元格数组或datetime数组(如果值表示日期和时间)。

例子:“格式”、“汽车”

数据类型:字符|字符串

分隔文本文件中空数字字段的返回值,指定为逗号分隔的对,由“EmptyValue”和一个数值标量。

例子:“EmptyValue”,0

多个分隔符处理,指定为由逗号分隔的对组成“MultipleDelimsAsOne”,要么真正的.如果真正的,则导入函数将连续的分隔符视为单个分隔符。由空格分隔的重复分隔符也被视为单个分隔符。还必须指定分隔符选择。

例子:“MultipleDelimsAsOne”,1

决定数据连接的逻辑指示器,指定为由逗号分隔的对组成“CollectOutput”,要么真正的.如果真正的,则导入函数将相同MATLAB基本类的连续输出单元连接到单个数组中。

例子:“CollectOutput”,真的

表示要忽略的文本的符号,指定为逗号分隔的对,由“CommentStyle”还有一个字符向量,字符向量的单元格数组,字符串,或者字符串数组。

例如,指定一个字符,如“%”忽略同一行符号后面的文本。指定由两个字符向量组成的单元格数组,例如{'/*','*/'},以忽略这些序列之间的任何文本。

MATLAB只在每个字段的开头检查注释,而不是在字段内部检查注释。

例子:“CommentStyle ',{'/*','*/'}

数据类型:字符|字符串

指数字符,指定为逗号分隔的对,由“ExpChars”和字符向量或字符串。默认的指数字符为e,E,d,D

例子:“ExpChars”、“eE”

数据类型:字符|字符串

行结束字符,指定为逗号分隔的对,由“LineEnding”和字符向量或字符串。字符向量必须是“\ r \ n”或者它必须指定单个字符。常见的行尾字符是换行符(' \ n ')或回车(' \ r ').如果你指定“\ r \ n”,则导入函数处理任意的r \,\ n,以及两者的组合(\ r \ n)作为行尾字符。

默认的行结束序列为\ n,r \,或\ r \ n,这取决于文件的内容。

如果在文件的最后一行末尾缺少值和行结束序列,则导入函数为这些字段返回空值。这确保了输出单元格数组中的单个单元格,C,大小相同。

例子:‘LineEnding’,‘:’

数据类型:字符|字符串

用于读取日期的区域设置,指定为逗号分隔的对,由“DateLocale”和这种形式的字符向量或字符串标量xx_YY,地点:

  • YY是大写的ISO 3166-1 alpha-2代码,表示国家。

  • xx是ISO 639-1的两个字母的小写代码,表示一种语言。

该表列出了区域设置的一些常用值。

语言环境 语言 国家
“de_DE” 德国 德国
“en_GB” 英语 联合王国
“en_US” 英语 美国
“es_ES” 西班牙语 西班牙
“fr_FR” 法国 法国
“it_IT” 意大利 意大利
“ja_JP” 日本 日本
“ko_KR” 朝鲜文 韩国
“设置nl_NL” 荷兰 荷兰
“zh_CN” 中文(简体) 中国

当使用% D读取文本的格式说明符datetime值,使用DateLocale指定导入函数应在其中解释月份和星期的名称和缩写的区域设置。

如果您指定DateLocale参数,除了选择属性的导入选项,则导入函数将使用指定的值DateLocale参数,覆盖导入选项中定义的区域设置。

例子:“DateLocale”、“ja_JP”

表示数值变量中十进制分隔符的字符,指定为字符向量或字符串标量。方法中指定的字符DecimalSeparator名称-值对用于区分数字的整数部分和小数部分。

当转换为整数数据类型时,具有小数部分的数字将四舍五入到最接近的整数。

例子:如果名称-值对指定为“DecimalSeparator”、“,”,然后导入函数导入文本“14159”作为数字3.14159

数据类型:字符|字符串

表示数值变量中千位分组的字符,指定为字符向量或字符串标量。数千个分组字符充当视觉分隔符,在每三个位置值处对数字分组。方法中指定的字符ThousandsSeparator名称-值对来解释导入的数字。

例子:如果名称-值对指定为“ThousandsSeparator”、“,”,然后导入函数导入文本“1234000”作为1234000

数据类型:字符|字符串

从指定为逻辑变量的数值变量中移除非数值字符真正的

例子:如果名称-值对指定为“TrimNonNumeric”,真的,则导入函数读取“500美元/ -”作为500

数据类型:逻辑

与文件关联的字符编码方案,指定为逗号分隔的对,由“编码”而且“系统”或标准字符编码方案名称。如果不指定任何编码,则readtable函数在读取文件时使用自动字符集检测来确定编码。

如果您指定“编码”参数之外的导入选项,则readtable函数使用指定的值“编码”,覆盖导入选项中定义的编码。

例子:“编码”,“utf - 8”使用UTF-8作为编码。

例子:“编码”、“系统”使用系统默认编码。

数据类型:字符|字符串

文本文件中持续时间数据的输出数据类型,指定为由逗号分隔的对组成“DurationType”,要么“持续时间”“文本”

价值 导入时长数据的类型
“持续时间”

MATLAB持续时间数据类型

有关更多信息,请参见持续时间

“文本”

如果“DurationType”指定为“文本”属性中指定的值,则导入的持续时间数据的类型取决于“TextType”参数:

  • 如果“TextType”“字符”,则导入函数将持续时间数据作为字符向量的单元格数组返回。

  • 如果“TextType”“字符串”,则导入函数以字符串数组的形式返回持续时间数据。

例子:“DurationType”、“文本”

数据类型:字符|字符串

输出数据类型为十六进制数据,指定为由逗号分隔的对组成“HexType”和表中列出的值之一。

输入文件将十六进制值表示为文本,可以使用任意一种0 x0 x作为前缀和字符0-9,一个-f,一个-F作为数字。(大写字母和小写字母代表相同的数字,例如,“0 xf”而且“0 xf”两个代表15.)

导入函数将十六进制值转换为的值指定的数据类型“HexType”

的价值“HexType”

输出表变量的数据类型

“汽车”

自动检测的数据类型

“文本”

未修改的输入文本

“int8”

8位整数,带符号

“int16”

16位整数,带符号

“int32”

32位整数,带符号

“int64”

64位整数,有符号

“uint8”

8位整数,无符号

“uint16”

16位整数,无符号

“uint32”

32位整数,无符号

“uint64”

64位整数,无符号

例子:“HexType”、“uint16”转换表示十六进制值的文本(例如“0 xff”)到无符号16位整数(例如255)输入输出表。

数据类型:字符|字符串

输出数据类型为二进制数据,指定为由逗号分隔的对组成“BinaryType”和表中列出的值之一。

输入文件将二进制值表示为文本,可以使用任意一种0 b0 b作为前缀和字符0而且1作为数字。

导入函数将二进制值转换为的值指定的数据类型“BinaryType”

的价值“BinaryType”

输出表变量的数据类型

“汽车”

自动检测的数据类型

“文本”

未修改的输入文本

“int8”

8位整数,带符号

“int16”

16位整数,带符号

“int32”

32位整数,带符号

“int64”

64位整数,有符号

“uint8”

8位整数,无符号

“uint16”

16位整数,无符号

“uint32”

32位整数,无符号

“uint64”

64位整数,无符号

例子:“BinaryType”、“uint16”转换表示二进制值的文本(例如“0 b11111111”)到无符号16位整数(例如255)输入输出表。

数据类型:字符|字符串

从指定为逻辑变量的数值变量中移除非数值字符真正的

例子:如果名称-值对指定为“TrimNonNumeric”,真的,则导入函数读取“500美元/ -”作为500

数据类型:逻辑

电子表格文件

全部折叠

要读取的工作表,指定为逗号分隔的对,由“表”和指示工作表索引的正整数或包含工作表名称的字符向量或字符串。工作表名称不能包含冒号().若要确定电子表格文件中工作表的名称,请使用Sheets = sheetnames(文件名).有关更多信息,请参见sheetnames

如果您指定参数,除了选择导入选项,然后readtable函数使用指定的值参数,覆盖导入选项中定义的工作表名称。

例子:“表”,2

例子:“表”,“MySheetName”

例子:“表”,“MySheetName”

数据类型:字符|字符串|||int8|int16|int32|int64|uint8|uint16|uint32|uint64

要读取的工作表的一部分,表示为由逗号分隔的对指定的矩形区域,由“范围”和下列形式之一的字符向量或字符串标量。

指定方法范围 描述

“细胞”(行坳)

从细胞

将数据的起始单元格指定为字符向量或字符串标量或两个元素数值向量。

  • 使用Excel包含列字母和行号的字符向量或字符串标量A1符号。例如,A5单元格的标识符是列的交叉点吗一个和行5

  • 二元数值向量的形式(行坳)指示起始行和列。

使用起始单元格,导入函数通过从起始单元格开始导入并在最后一个空行或页脚范围结束来自动检测数据的范围。

例子:的A5(5 - 1)

Corner1: Corner2

矩形范围

使用语法指定范围Corner1: Corner2,在那里Corner1而且Corner2是定义区域的两个相对的角。例如,“D2: H4”表示两个角之间的3 × 5矩形区域D2而且H4在工作表上。的“范围”名称-值对参数不区分大小写,并使用Excel A1引用样式(请参阅Excel帮助)。

例子:“范围”、“D2: H4

未指定或为空

如果未指定的,readtable自动检测使用范围。

例子:“范围”,“

注意:使用范围指电子表格中实际包含数据的矩形部分。readtable通过修剪不包含数据的任何开头和结尾行和列,自动检测所使用的范围。仅为空白的文本被认为是数据,并在使用的范围内捕获。

第一行:Row2

行范围

可以通过使用Excel行指示器指定开始行和结束行来标识范围。然后readtable自动检测指定行中已使用的列范围。例如,readtable解释范围规范“1:7”作为读取第1行到第7行(包括)所使用范围内所有列的指令。

例子:“范围”、“1:7的

Column1: Column2

列范围

可以通过使用Excel列指示器指定开始列和结束列来标识范围。然后readtable自动检测指定列中已使用的行范围。例如,readtable解释范围规范“答:F”作为一条指令,读取A到F列(包括)中使用范围内的所有行。

例子:“范围”、“答:F '

NamedRange

Excel中的命名范围

在Excel中,可以创建名称来标识电子表格中的范围。例如,您可以选择电子表格的一个矩形部分并调用它“myTable”.如果电子表格中存在这样的命名范围,则readtable可以通过其名称读取该范围。

例子:“范围”、“myTable”

例子:“范围”,A1: F10的

例子:“范围”,“A1: F10”- - - - - -

数据类型:字符|字符串

要导入的数据的位置,指定为字符向量、字符串标量、字符向量的单元格数组、字符串数组、正标量整数或N——- - - - - -2正标量整数数组。指定DataRange使用这些形式之一

指定的 行为

“细胞”n

开始单元格或开始行

使用Excel指定数据的起始单元格A1符号。例如,A5单元格的标识符是列的交叉点吗一个和行5

导入函数使用起始单元格自动检测数据的范围,方法是在起始单元格开始导入,并在最后一个空行或页脚范围结束导入。

或者,使用正标量行索引指定包含数据的第一行。

使用指定的行索引,导入函数通过从指定的第一行读入到数据的末尾或页脚范围来自动检测数据的范围。

例子:的A55

Corner1: Corner2

矩形范围

使用矩形范围形式指定要读取的确切范围,其中Corner1而且Corner2是两个相对的角,它们定义了要读取的区域。

导入函数只读取包含在指定范围内的数据。指定范围内的任何空字段都将作为缺失的单元格导入。

类中指定的列数必须匹配NumVariables财产。

例子:“A5: K50”

第一行:Row2Column1: Column2

行范围或列范围

通过使用Excel行号标识开始行和结束行来指定范围。

使用指定的行范围,导入函数通过从第一个非空列读取数据的末尾来自动检测列的范围,并为每列创建一个变量。

例子:“5:500”

或者,通过使用Excel列字母或数字标识开始列和结束列来指定范围。

使用指定的列范围,import函数通过从第一个非空行读取到数据末尾或页脚范围来自动检测行范围。

属性中指定的列数必须匹配NumVariables财产。

例子:“答:K”

(n1 n2;n3陶瓷;……)

多行范围

指定多行范围用英语阅读N——- - - - - -2数组包含N不同的行范围。

由多个行范围组成的有效数组必须:

  • 按递增顺序指定行范围,即在数组中指定的第一行范围在其他行范围之前出现在文件中。

  • 只包含不重叠的行范围。

使用仅支持用于指示指金宝app定多个行范围的数值数组中的最后一个范围。例如,[1 3;5 6;8正)

例子:[1 3;5 6;8正)

未指定或为空

不要获取任何数据。

例子:

例子:“DataRange”,“B2: H15”

数据类型:字符|字符串|细胞||

行名的位置,指定为字符向量、字符串标量、正标量整数或空字符数组。指定RowNamesRange作为该表中的值之一。

指定的 行为

“细胞”

使用Excel指定数据的起始单元格A1符号。例如,A5单元格的标识符是列的交叉点吗一个和行5

导入函数为数据中的每个变量标识一个名称。

例子:的A5

Corner1: Corner2

矩形范围

使用矩形范围形式指定要读取的确切范围,其中Corner1而且Corner2是两个相对的角,它们定义了要读取的区域。

中包含的行数RowNamesRange必须匹配数据行数,以及由RowNamesRange只能张成一列。

例子:“A5: A50”

第一行:Row2

行范围

通过使用Excel行号标识开始行和结束行来指定范围。

行名必须在一个列中。

例子:“25”

n

数量指标

使用正标量列索引指定包含行名的列。

例子:5

未指定或为空

指示没有行名。

例子:

例子:“RowNamesRange”,A1: H1的

数据类型:字符||

变量名的位置,指定为字符向量、字符串标量、正标量整数或空字符数组。指定VariableNamesRange作为该表中的值之一。

指定的 行为

“细胞”

使用Excel指定数据的起始单元格A1符号。例如,A5单元格的标识符是列的交叉点吗一个和行5

导入函数为数据中的每个变量读取一个名称。

例子:的A5

Corner1: Corner2

矩形范围

使用矩形范围形式指定要读取的确切范围,其中Corner1而且Corner2是两个相对的角,它们定义了要读取的区域。

类中指定的列数必须匹配NumVariables属性,且范围必须仅跨一行。

例子:“A5: K5”

第一行:Row2

行范围

通过使用Excel行号标识开始行和结束行来指定范围。

必须是单行。

例子:“5”

n

数量指标

使用正标量行索引指定包含变量名的行。

例子:5

未指定或为空

指示没有变量名。

例子:

例子:“VariableNamesRange”,“A1: A15”

数据类型:字符||

变量单位的位置,指定为字符向量、字符串标量、正标量整数或空字符数组。指定VariableUnitsRange作为该表中的值之一。

指定的 行为

“细胞”

使用Excel指定数据的起始单元格A1符号。例如,A5单元格的标识符是列的交叉点吗一个和行5

导入函数为数据中的每个变量读取一个单元。

例子:的A5

Corner1: Corner2

矩形范围

使用矩形范围形式指定要读取的确切范围,其中Corner1而且Corner2是两个相对的角,它们定义了要读取的区域。

类中指定的列数必须匹配NumVariables属性,且范围必须仅跨一行。

例子:“A5: K5”

第一行:Row2

行范围

通过使用Excel行号标识开始行和结束行来指定范围。

必须是单行。

例子:“5”

n

数量指标

使用正标量行索引指定包含数据单元的行。

例子:5

未指定或为空

表示没有可变单位。

例子:

例子:“VariableUnitsRange”,A1: A5的

数据类型:字符|字符串||

变量描述的位置,指定为字符向量、字符串标量、正标量整数或空字符数组。指定VariableDescriptionRange作为该表中的值之一。

指定的 行为

“细胞”

使用Excel指定数据的起始单元格A1符号。例如,A5单元格的标识符是列的交叉点吗一个和行5

导入函数读取数据中每个变量的描述。

例子:的A5

Corner1: Corner2

矩形范围

使用矩形范围形式指定要读取的确切范围,其中Corner1而且Corner2是两个相对的角,它们定义了要读取的区域。

类中指定的列数必须匹配NumVariables属性,且范围必须仅跨一行。

例子:“A5: K5”

第一行:Row2

行范围

通过使用Excel行号标识开始行和结束行来指定范围。

必须是单行。

例子:“5”

n

数量指标

使用正标量行索引指定包含描述的行。

例子:5

未指定或为空

指示没有变量描述。

例子:

例子:“VariableDescriptionsRange”,“B1:去往B15”

数据类型:字符|字符串||

的实例开始的标志Microsoft Excel当读取电子表格数据时,指定为逗号分隔的对,由“UseExcel”,要么真正的,或

您可以设置“UseExcel”参数设置为以下值之一:

  • 真正的—导入函数将启动一个实例Microsoft Excel读取文件时。

  • —导入函数不会启动实例Microsoft Excel读取文件时。在此模式下操作时,导入函数功能在支持文件格式和交互特性(如公式和宏)方面有所不同。金宝app

UseExcel

真正的

金宝app支持的文件格式

.xls, .xlsx, .xlsm, .xltx, .xltm, .xlsb, .ods

.xls, .xlsx, .xlsm, .xltx, .xltm

金宝app支持交互式特性,如公式和宏

是的

没有

从Windows平台上的电子表格文件读取时,如果要启动的实例Microsoft Excel,然后设置“UseExcel”参数真正的

例子:“UseExcel”,真的

仅限XML文件

全部折叠

属性后缀,指定为逗号分隔的对,由“AttributeSuffix”或字符向量或字符串标量。此参数指定读取函数附加到与输入XML文件中的属性对应的所有表变量的后缀。如果您没有指定“AttributeSuffix”,则读取函数默认为追加后缀“属性”到与输入XML文件中的属性对应的所有变量名。

例子:“AttributeSuffix”、“_att”

导入属性,指定为逗号分隔的对,由“ImportAttributes”,要么1真正的)或0).如果你指定,则读取函数不会将输入文件中的XML属性作为输出表中的变量导入。

例子:“ImportAttributes”,假的

表行XML节点名,指定为由逗号分隔的对组成“RowNodeName”或字符向量或字符串标量。此参数指定描述输出表行的XML节点名。

例子:“RowNodeName”、“XMLNodeName”

表行XPath表达式,指定为字符向量或字符串标量,读取函数使用它来选择输出表中的各个行。您必须指定RowSelector作为有效的XPath 1.0版表达式。

例子:“RowSelector”、“RootNode / ChildNode”

表变量XML节点名,指定为由逗号分隔的对组成“VariableNodeNames”或者是字符向量的单元格数组,或者是字符串数组。此参数指定XML节点名,读取函数使用该名称标识要作为输出表中的变量读取的XML节点。

例子:VariableNodeNames,{‘XMLNodeName1’,‘XMLNodeName2}

例子:“VariableNodeNames”、“XMLNodeName”

例子:“VariableNodeNames”,(“XMLNodeName1”、“XMLNodeName2”)

表变量XPath表达式,指定为字符向量的单元格数组或读取函数用来选择表变量的字符串数组。您必须指定VariableSelectors作为有效的XPath 1.0版表达式。

例子:VariableSelectors, {' / RootNode / ChildNode '}

例子:‘VariableSelectors’,”/ RootNode / ChildNode”

例子:“VariableSelectors”,(“/ RootNode / ChildNode1”,“/ RootNode / ChildNode2”)

表XML节点名,指定为逗号分隔的对,由“TableNodeName”或字符向量或字符串标量。该参数指定了读取函数应该读取到表中的输入结构中的节点。

例子:“TableNodeName”、“节点名的

变量单位XPath,指定为字符向量或字符串标量,读取函数使用它来选择表变量单位。您必须指定VariableUnitsSelector作为有效的XPath 1.0版表达式。

例子:“VariableUnitsSelector”、“RootNode / ChildNode”

变量描述XPath表达式,指定为字符向量或字符串标量,读取函数使用它来选择表变量描述。您必须指定VariableDescriptionsSelector作为有效的XPath 1.0版表达式。

例子:“VariableDescriptionsSelector”、“RootNode / ChildNode”

表行名XPath表达式,指定为字符向量或字符串标量,读取函数使用该表达式选择表行的名称。您必须指定RowNamesSelector作为有效的XPath 1.0版表达式。

例子:“RowNamesSelector”、“RootNode / ChildNode”

过程来处理表的给定行中重复的XML节点,指定为“addcol”,“忽略”,或“错误”

重复节点规则

行为

“addcol”

为表中变量标题下的重复节点添加列。指定的值“RepeatedNodeRule”作为“addcol”不在表中为重复节点创建单独的变量。

“忽略”

跳过导入重复的节点。

“错误” 显示错误消息并中止导入操作。

例子:“RepeatedNodeRule”、“忽略”

一组已注册的XML名称空间前缀,指定为逗号分隔的对,由RegisteredNamespaces和一个前缀数组。读取函数在计算XML文件上的XPath表达式时使用这些前缀。将命名空间前缀及其关联的url指定为Nx2字符串数组。RegisteredNamespaces也可以在计算由选择器名称-值参数指定的XPath表达式时使用,例如StructSelectorreadstruct,或VariableSelectorsreadtable而且readtimetable

默认情况下,读取函数自动检测要注册的名称空间前缀,以便在XPath求值中使用,但是您也可以使用RegisteredNamespaces名称-值参数。当XML节点有名称空间URL,但在XML文件中没有声明名称空间前缀时,可以注册一个新的名称空间前缀。

例如,计算XML文件上的XPath表达式example.xml不包含名称空间前缀的。指定“RegisteredNamespaces”作为[" myprefix ", " //www.tatmou.com ")要分配前缀myprefix到URL//www.tatmou.com

T = readtable("example.xml", "VariableSelector", "/myprefix:Data",…"RegisteredNamespaces", ["myprefix", "//www.tatmou.com/se/"])

例子:“RegisteredNamespaces”,(“myprefix”、“//www.tatmou.com”)

微软仅限文档和HTML文件

全部折叠

要读取的表的索引微软文字处理软件文档或HTML文件,包含多个表,指定为正整数。

当你指定TableIndex,软件自动设置TableSelector等价的XPath表达式。

例子:“TableIndex”,2

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

要读取的表的索引微软文字处理软件文档或HTML文件,包含多个表,指定为正整数。

当你指定TableIndex,软件自动设置TableSelector等价的XPath表达式。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

过程处理具有合并列的单元格,合并列指定为本表中的值之一。

导入错误规则 行为
“placeleft”

的内容填充在最左边的单元格中,并在剩余的单元格中填充FillValue财产。

FillValue属性中指定VariableImportOptions正在导入的变量的。有关访问的详细信息FillValue财产,看到getvaropts

“placeright”

将数据放置在最右边的单元格中,并用FillValue财产。

FillValue属性中指定VariableImportOptions正在导入的变量的。有关访问的详细信息FillValue财产,看到getvaropts

“复制”

复制所有单元格中的数据。

“omitrow” 省略发生错误的行。
“错误” 显示错误消息并中止导入操作。

例子:“MergedCellColumnRule”、“placeright”

过程处理带有合并行的单元格,合并行指定为本表中的值之一。

导入错误规则 行为
“placetop”

的内容填充剩余的单元格,并将数据放在顶部单元格中FillValue财产。

FillValue属性中指定VariableImportOptions正在导入的变量的。有关访问的详细信息FillValue财产,看到getvaropts

“placebottom”

将数据放置在底部单元格中,并用FillValue财产。

FillValue属性中指定VariableImportOptions正在导入的变量的。有关访问的详细信息FillValue财产,看到getvaropts

“复制”

复制所有单元格中的数据。

“omitvar” 省略发生合并行的变量。
“错误” 显示错误消息并中止导入操作。

例子:“MergedCellRowRule”、“复制”

包含变量名的行,指定为非负整数。

  • 如果您没有指定VariableNamesRow,然后软件读取变量名根据ReadVariableNames论点。

  • 如果VariableNamesRow0,则软件不导入变量名。

  • 否则,软件将从指定的行中导入变量名。

例子:“VariableNamesRow”,2

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

包含变量单位的行,指定为非负整数。

如果VariableUnitsRow0,则软件不导入变量单位。否则,软件将从指定的行中导入变量单元。

例子:“VariableUnitsRow”,3

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

包含变量描述的行,指定为非负整数。

如果VariableDescriptionsRow0,则软件不导入变量描述。否则,软件将从指定的行中导入变量描述。

例子:“VariableDescriptionsRow”4

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

规则应用于表中的空行,指定为下列之一:

  • “跳过”—跳过空行。

  • “读”—读空行。

  • “错误”—在表检测时忽略空行,读取时出错。

例子:“EmptyRowRule”、“读”

规则应用于表中的空列,指定为下列之一:

  • “跳过”—跳过空列。

  • “读”—读取空列。

  • “错误”-在表检测和读取错误时忽略空列。

例子:“EmptyColumnRule”、“错误”

微软文档,HTML和XML文件

全部折叠

表数据XPath表达式,指定为字符向量或字符串标量,读取函数使用它来选择输出表数据。您必须指定TableSelector作为有效的XPath 1.0版表达式。

例子:“TableSelector”、“RootNode / ChildNode”

输出参数

全部折叠

输出表,作为表返回。该表可以存储元数据,如描述、变量单位、变量名和行名。的属性部分,了解更多信息表格

提示

  • XLSX格式的大文件有时加载缓慢。为了获得更好的导入和导出性能,Microsoft建议您使用XLSB格式。

  • 使用XPath选择器指定要导入XML输入文档的哪些元素。例如,假设您想导入XML文件myFile.xml,其结构如下:

    <数据> <表类别= "的" > < var > 1 < / var > < var > 2 < / var > < /表> <表类别= "十" > < var > 10 < / var > < var > 20 < / var > < /表> > < /数据
    该表提供了XPath选择器名称-值参数所支持的XPath语法,例如金宝appVariableSelectorsTableSelector

    选择操作 语法 例子 结果
    选择名称与要选择的节点匹配的每个节点,而不管其在文档中的位置。 在名称前加上两个斜杠(//).
    数据=可读数据(“myFile.xml”,“VariableSelectors”,' / / var '
    数据= 4×1表var ___ 1 2 10 20
    读取属于元素节点的属性的值。 在属性前加上@号(@).
    数据=可读数据(“myFile.xml”,“VariableSelectors”,' / /表/ @category '
    数据表categoryAttribute = 2×1  _________________ " 的”“十”
    在节点集中选择一个特定的节点。 在方括号中提供要选择的节点的索引([]).
    数据=可读数据(“myFile.xml”,“TableSelector”,/ /表[1]”
    数据= 2×1表var ___ 1 2
    指定操作的优先级。 在要首先求值的表达式周围添加圆括号。
    数据=可读数据(“myFile.xml”,“VariableSelectors”,/ /表/ var[1]”
    10 . Data = 2×1 table var ___ 1
    数据=可读数据(“myFile.xml”,“VariableSelectors”,”(/ /表/ var)[1]”
    数据=表var ___

版本历史

在R2013b中引入

全部展开

R2020a的行为发生了变化