spreadsheetImportOptions

为电子表格导入选项对象

描述

一个SpreadsheetImportOptions对象使您可以指定MATLAB如何®从电子表格文件导入表格数据。对象包含控制数据导入过程的属性,包括错误和缺失数据的处理。

创建

您可以创建SpreadsheetImportOptions对象detectImportOptions函数或spreadsheetImportOptions函数(此处描述):

  • 使用detectImportOptions中指定的电子表格的内容来检测和填充导入属性文件名

    opts = detectImportOptions(文件名);

  • 使用spreadsheetImportOptions根据导入需求定义导入属性。

描述

例子

opts = spreadsheetImportOptions创建一个SpreadsheetImportOptions对象,只有一个变量。

例子

opts = spreadsheetImportOptions('NumVariables',numVars中指定的变量数量创建对象numVars

例子

opts = spreadsheetImportOptions(___名称,值指定附加的属性SpreadsheetImportOptions使用一个或多个名称-值对参数。

输入参数

全部展开

变量数,指定为正标量整数。

属性

全部展开

变量的属性

变量名,指定为字符向量或字符串数组的单元格数组。的VariableNames属性包含导入变量时要使用的名称。

如果数据包含N变量,但没有检测到变量名,则VariableNames属性包含{‘Var1’,‘Var2’,……,“VarN”}

若要支金宝app持无效的MATLAB标识符作为变量名,例如包含空格和非ascii字符的变量名,请设置PreserveVariableNames参数真正的

例子:选择。VariableNames返回当前(检测到的)变量名。

例子:options . variablenames (3) = {'Height'}将第三个变量的名称更改为高度

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

标记以保留变量名,指定为逗号分隔的对,由PreserveVariableNames,要么真正的,或

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

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

从R2019b开始,变量名和行名可以包含任何字符,包括空格和非ascii字符。此外,他们可以从任何字符开始,而不仅仅是字母。变量名和行名不必是有效的MATLAB标识符(由isvarname功能)。若要保留这些变量名和行名,请设置PreserveVariableNames真正的

变量数据类型,指定为字符向量或字符串数组的单元格数组。的VariableTypes属性指定导入变量时要使用的数据类型。在分配新值时,指定VariableTypes作为有效数据类型名称的单元格数组。

要更新VariableTypes属性,使用setvartype函数。

例子:选择。VariableTypes返回当前(检测到的)变量数据类型。

例子:opts = setvartype(opts,'Height',{'double'})更改变量的数据类型高度

数据类型:细胞|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串|分类|datetime

要导入的变量子集,指定为字符向量、字符串标量、字符向量的单元格数组、字符串数组或数值索引数组。

SelectedVariableNames中包含的名称的子集VariableNames财产。默认情况下,SelectedVariableNames属性中的所有变量名VariableNames属性,这意味着将导入所有变量。

使用SelectedVariableNames属性只导入感兴趣的变量。属性指定变量的子集SelectedVariableNames财产和用途readtable只导入该子集。

若要支金宝app持无效的MATLAB标识符作为变量名,例如包含空格和非ascii字符的变量名,请设置PreserveVariableNames参数真正的

例子:选择。SelectedVariableNames ={'身高','姓氏'}只选择两个变量,高度而且,用于导入操作。

例子:选择。SelectedVariableNames = [1 5]仅为导入操作选择两个变量,第一个变量和第五个变量。

例子:T = readtable(文件名,opts)方法中指定的变量SelectedVariableNames的属性选择对象。

数据类型:uint16|uint32|uint64|字符|字符串|细胞

类型特定的变量导入选项,作为变量导入选项对象数组返回。对象中指定的每个变量对应的对象VariableNames财产。数组中的每个对象都包含支持导入特定数据类型的数据的属性。金宝app

变量选项支持以下数据类型:数字、文金宝app本、逻辑datetime,或分类

要查询变量的当前(或检测到的)选项,请使用getvaropts函数。

要为变量设置和自定义选项,请使用setvaropts函数。

例子:选择。VariableOptions的集合。VariableImportOptions对象,一个对应于数据中的每个变量。

例子:getvaropts(选择“高”)返回VariableImportOptions对象的高度变量。

例子:opts = setvaropts(opts,'Height','FillValue',0)设置FillValue属性。高度0

位置属性

要从中读取的工作表,指定为空字符数组、字符向量或包含工作表名称的字符串标量,或表示工作表索引的正标量整数。属性指定的值属性时,导入函数的行为如表中所述。

规范 行为
(默认) 从第一个工作表导入数据。
的名字 从匹配的工作表名称导入数据,而不管工作表在电子表格文件中的顺序如何。
整数 从表中导入由整数表示的位置的数据,而不管电子表格文件中的表名如何。

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

要导入的数据的位置,指定为字符向量、字符串标量、字符向量的单元格数组、字符串数组、正标量整数或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正)

未指定或为空

不要获取任何数据。

例子:

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

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

指定的 行为

“细胞”

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

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

例子:的A5

Corner1: Corner2

矩形范围

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

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

例子:“A5: A50”

第一行:Row2

行范围

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

行名必须在一个列中。

例子:“25”

n

数量指标

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

例子:5

未指定或为空

指示没有行名。

例子:

数据类型:字符||

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

指定的 行为

“细胞”

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

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

例子:的A5

Corner1: Corner2

矩形范围

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

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

例子:“A5: K5”

第一行:Row2

行范围

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

必须是单行。

例子:“5”

n

数量指标

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

例子:5

未指定或为空

指示没有变量名。

例子:

数据类型:字符||

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

指定的 行为

“细胞”

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

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

例子:的A5

Corner1: Corner2

矩形范围

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

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

例子:“A5: K5”

第一行:Row2

行范围

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

必须是单行。

例子:“5”

n

数量指标

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

例子:5

未指定或为空

指示没有变量描述。

例子:

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

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

指定的 行为

“细胞”

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

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

例子:的A5

Corner1: Corner2

矩形范围

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

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

例子:“A5: K5”

第一行:Row2

行范围

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

必须是单行。

例子:“5”

n

数量指标

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

例子:5

未指定或为空

表示没有可变单位。

例子:

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

替换规则

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

失踪的规则 行为
“填满”

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

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

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

例子:选择。MissingRule = 'omitrow';uint32

数据类型:字符|字符串

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

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

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

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

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

例子:选择。ImportErrorRule = 'omitvar';

数据类型:字符|字符串

对象的功能

getvaropts 获取变量导入选项
setvaropts 设置变量导入选项
setvartype 设置可变数据类型
预览 使用导入选项预览文件中的八行

例子

全部折叠

创建一个import options对象从文件中读取一个变量patients.xls

初始化一个SpreadsheetImportOptions对象时,指定变量名、变量类型和数据起始单元格。然后,使用预览函数使用import options对象预览数据。

opts = spreadsheetImportOptions;选择。VariableNames =“姓”;选择。VariableTypes =“分类”;选择。DataRange =“A2”;预览(“patients.xls”选择)
ans =8×1表姓氏________史密斯·约翰逊·威廉姆斯·琼斯·布朗·戴维斯·米勒·威尔逊

从文件中导入变量。

oneVar = readtable(“patients.xls”、选择);谁oneVar
名称大小字节类属性oneVar 100x1 12710表

创建一个用于读取多个变量的导入选项对象patients.xls

根据文件的内容,定义变量的数量、变量名称、变量类型和数据起始位置。

numVars = 7;varNames = {“姓”“性别”“年龄”“位置”“高度”“重量”“抽烟”};varTypes = {“字符”“分类”“int32”“字符”“双”“双”“逻辑”};dataStartLoc =“A2”

初始化导入选项对象选择使用spreadsheetImportOptions函数和变量信息。

opts = spreadsheetImportOptions(“NumVariables”numVars,...“VariableNames”varNames,...“VariableTypes”varTypes,...“DataRange”, dataStartLoc);

控件预览数据预览函数的导入选项。

预览(“patients.xls”选择)
ans =8×7表LastName性别年龄位置身高体重吸烟者  ____________ ______ ___ _____________________________ ______ ______ ______ {' 史密斯的男性38}{县综合医院的}71 176真正的{“约翰逊”}男43 {VA医院的}69 163假{威廉姆斯的}女38{圣。玛丽医疗中心64 131假{'琼斯'}女40{'弗吉尼亚医院'}67 133假{'布朗'}女49{'县总医院'}64 119假{'戴维斯'}女46{'圣。玛丽医疗中心68 142假{'Miller'}女33 {'VA医院'}64 142真{'Wilson'}男40 {'VA医院'}68 180假

使用以下命令导入数据readtable

T =可读的(“patients.xls”、选择);谁T
名称大小字节类属性T 100x7 30564表

提示

  • 介绍:

    • R2016b -SpreadsheetImportOptions对象

    • R2018b -spreadsheetImportOptions函数