delimitedTextImportOptions
为分隔文本导入选项对象
描述
一个DelimitedTextImportOptions
对象使您可以指定MATLAB如何®从带分隔符的文本文件导入表格数据。对象包含控制数据导入过程的属性,包括错误和缺失数据的处理。
创建
您可以创建DelimitedTextImportOptions
对象使用detectImportOptions
函数或delimitedTextImportOptions
函数(此处描述):
使用
detectImportOptions
中指定的带分隔符的文本文件的内容来检测和填充导入属性文件名
.opts = detectImportOptions(文件名);
使用
delimitedTextImportOptions
根据导入需求定义导入属性。
语法
描述
输入参数
numVars
- - - - - -变量数量
正标量整数
变量数,指定为正标量整数。
属性
变量的属性
VariableNames
- - - - - -变量名
字符向量的单元格数组|字符串数组
变量名,指定为字符向量或字符串数组的单元格数组。的VariableNames
属性包含导入变量时要使用的名称。
如果数据包含N
变量,但未指定变量名,则VariableNames
属性包含{‘Var1’,‘Var2’,……,“VarN”}
.
若要支金宝app持无效的MATLAB标识符作为变量名,例如包含空格和非ascii字符的变量名,请设置值为VariableNamingRule
来“保存”
.
例子:选择。VariableNames
返回当前(检测到的)变量名。
例子:options . variablenames (3) = {'Height'}
将第三个变量的名称更改为高度
.
数据类型:字符
|字符串
|细胞
VariableNamingRule
- - - - - -标记以保留变量名
“修改”
(默认)|“保存”
标记以保留变量名,指定为任意一种“修改”
或“保存”
.
“修改”
-转换无效的变量名(由isvarname
函数)到有效的MATLAB标识符。“保存”
-保留不是有效MATLAB标识符的变量名,例如包含空格和非ascii字符的变量名。
从R2019b开始,变量名和行名可以包含任何字符,包括空格和非ascii字符。此外,他们可以从任何字符开始,而不仅仅是字母。变量名和行名不必是有效的MATLAB标识符(由isvarname
功能)。若要保留这些变量名和行名,请设置值VariableNamingRule
来“保存”
.的值时,变量名不会刷新VariableNamingRule
从“修改”
来“保存”
.
数据类型:字符
|字符串
VariableTypes
- - - - - -变量的数据类型
字符向量的单元格数组|字符串数组
变量的数据类型,指定为字符向量的单元格数组,或包含一组有效数据类型名称的字符串数组。的VariableTypes
属性指定导入变量时要使用的数据类型。
要更新VariableTypes
属性,使用setvartype
函数。
例子:选择。VariableTypes
返回当前变量数据类型。
例子:opts = setvartype(opts,'Height',{'double'})
更改变量的数据类型高度
来双
.
SelectedVariableNames
- - - - - -要导入的变量子集
特征向量|字符串标量|字符向量的单元格数组|字符串数组|数值索引数组
要导入的变量子集,指定为字符向量、字符串标量、字符向量的单元格数组、字符串数组或数值索引数组。
SelectedVariableNames
中包含的名称的子集VariableNames
财产。默认情况下,SelectedVariableNames
属性中的所有变量名VariableNames
属性,这意味着将导入所有变量。
使用SelectedVariableNames
属性只导入感兴趣的变量。属性指定变量的子集SelectedVariableNames
财产和用途readtable
只导入该子集。
若要支金宝app持无效的MATLAB标识符作为变量名,例如包含空格和非ascii字符的变量名,请设置值为VariableNamingRule
来“保存”
.
例子:选择。SelectedVariableNames ={'身高','姓氏'}
只选择两个变量,高度
而且姓
,用于导入操作。
例子:选择。SelectedVariableNames = [1 5]
仅为导入操作选择两个变量,第一个变量和第五个变量。
例子:T = readtable(文件名,opts)
方法中指定的变量SelectedVariableNames
的属性选择
对象。
数据类型:uint16
|uint32
|uint64
|字符
|字符串
|细胞
VariableOptions
- - - - - -键入特定的变量导入选项
变量导入选项对象的数组
类型特定的变量导入选项,作为变量导入选项对象数组返回。对象中指定的每个变量对应的对象VariableNames
财产。数组中的每个对象都包含支持导入特定数据类型的数据的属性。金宝app
变量选项支持以下数据类型:数字、文金宝app本、逻辑
,datetime
,或分类
.
要查询变量的当前(或检测到的)选项,请使用getvaropts
函数。
要为变量设置和自定义选项,请使用setvaropts
函数。
例子:选择。VariableOptions
的集合。VariableImportOptions
对象,一个对应于数据中的每个变量。
例子:getvaropts(选择“高”)
返回VariableImportOptions
对象的高度
变量。
例子:opts = setvaropts(opts,'Height','FillValue',0)
设置FillValue
属性。高度
来0
.
位置属性
DataLines
- - - - - -数据位置
正标量整数|正标量整数数组
数据位置,指定为正标量整数或N -
通过-2
正标量整数数组。指定DataLines
使用这些形式之一
指定为 |
描述 |
---|---|
|
指定第一行其中包含数据。使用
|
|
指定线范围其中包含数据。 数组中的值 |
|
指定多行范围用英语阅读 由多个行范围组成的有效数组必须:
当指定多个行范围时,使用 |
例子:选择。DataLines = 5
设置DataLines
属性的值(5正)
.从row开始读取所有数据行5
到文件末尾。
例子:选择。数据线= [2 6]
将属性设置为读取行2
通过6
.
例子:选择。DataLines = [1 3;5 6;8正)
将属性设置为读取行1
,2
,3.
,5
,6
,和之间的所有行8
,和文件结束。
数据类型:单
|双
|uint8
|uint16
|uint32
|uint64
RowNamesColumn
- - - - - -行名位置
0
(默认)|正标量整数
行名位置,指定为正标量整数。的RowNamesColumn
属性指定包含行名的列的位置。
如果RowNamesColumn
指定为0,则不导入行名。否则,从指定的列导入行名。
例子:选择。RowNamesColumn = 2;
数据类型:单
|双
|uint8
|uint16
|uint32
|uint64
VariableNamesLine
- - - - - -变量名位置
0
(默认)|正标量整数
变量名称位置,指定为正标量整数。的VariableNamesLine
属性指定变量名所在的行号。
如果VariableNamesLine
指定为0,则不导入变量名。否则,从指定的行中导入变量名。
例子:选择。VariableNamesLine = 6;
数据类型:单
|双
|uint8
|uint16
|uint32
|uint64
VariableDescriptionsLine
- - - - - -变量描述位置
0
(默认)|正标量整数
变量描述位置,指定为正标量整数。的VariableDescriptionsLine
属性指定变量描述所在的行号。
如果VariableDescriptionsLine
指定为0,则不导入变量描述。否则,从指定的行导入变量描述。
例子:选择。VariableDescriptionsLine = 7;
数据类型:单
|双
|uint8
|uint16
|uint32
|uint64
VariableUnitsLine
- - - - - -可变单元位置
0
(默认)|正标量整数
变量单位位置,指定为正标量整数。的VariableUnitsLine
属性指定变量单元所在的行号。
如果VariableUnitsLine
指定为0时,则不导入变量单位。否则,从指定的行中导入变量单元。
例子:选择。VariableUnitsLine = 8;
数据类型:单
|双
|uint8
|uint16
|uint32
|uint64
分隔文本属性
分隔符
- - - - - -字段分隔符字符
特征向量|字符串标量|字符向量的单元格数组|字符串数组
分隔文本文件中的字段分隔符字符,指定为字符向量、字符串标量、字符向量的单元格数组或字符串数组。
例子:“分隔符”,“|”
例子:“分隔符 ',{';','*'}
数据类型:字符
|字符串
|细胞
空格
- - - - - -将字符视为空白
特征向量|字符串标量
要作为空白处理的字符,指定为包含一个或多个字符的字符向量或字符串标量。
例子:“空白”、“_”
例子:“空白”、“? !”
LineEnding
- - - - - -行尾字符
{' \ n ', ' \ r ', ' \ r \ n '}
(默认)|特征向量|字符串标量|字符向量的单元格数组|字符串数组
行尾字符,指定为字符向量、字符串标量、字符向量的单元格数组或字符串数组。
例子:' LineEnding ', ' \ n '
例子:“LineEnding”、“\ r \ n”
例子:LineEnding,{‘\ b’,‘:’}
数据类型:字符
|字符串
|细胞
CommentStyle
- - - - - -评论风格
特征向量|字符串标量|字符向量的单元格数组|字符串数组
注释的样式,指定为字符向量、字符串标量、字符向量的单元格数组或字符串数组。
例如,要忽略同一行上百分号后面的文本,请指定CommentStyle
作为“%”
.
例子:CommentStyle,{“/ *”}
数据类型:字符
|字符串
|细胞
ConsecutiveDelimitersRule
- - - - - -过程来处理连续的分隔符
“分裂”
|“加入”
|“错误”
过程处理分隔文本文件中的连续分隔符,该分隔符指定为本表中的值之一。
连续分隔符规则 | 行为 |
---|---|
“分裂” |
将连续的分隔符拆分为多个字段。 |
“加入” |
将分隔符合并为一个分隔符。 |
“错误” |
返回错误并中止导入操作。 |
数据类型:字符
|字符串
LeadingDelimitersRule
- - - - - -过程来管理前导分隔符
“保持”
|“忽略”
|“错误”
过程来管理分隔文本文件中的前导分隔符,该分隔符作为本表中的值之一指定。
前导分隔符规则 | 行为 |
---|---|
“保持” |
保留分隔符。 |
“忽略” |
忽略分隔符。 |
“错误” |
返回错误并中止导入操作。 |
TrailingDelimitersRule
- - - - - -过程来管理尾随分隔符
“保持”
|“忽略”
|“错误”
过程来管理带分隔符的文本文件中的尾随分隔符,该分隔符作为本表中的值之一指定。
前导分隔符规则 | 行为 |
---|---|
“保持” |
保留分隔符。 |
“忽略” |
忽略分隔符。 |
“错误” |
返回错误并中止导入操作。 |
编码
- - - - - -字符编码方案
”
|“utf - 8”
|“系统”
|“iso - 8859 - 1”
|“windows - 1251”
|“windows - 1252”
|……
与文件关联的字符编码方案,指定为逗号分隔的对,由“编码”
而且“系统”
或标准字符编码方案名称。
如果未指定任何编码,则该函数在读取文件时使用自动字符集检测来确定编码。
例子:“编码”、“系统”
使用系统默认编码。
数据类型:字符
|字符串
替换规则
MissingRule
- - - - - -过程来管理丢失的数据
“填满”
(默认)|“错误”
|“omitrow”
|“omitvar”
过程来管理缺失的数据,该数据指定为本表中的值之一。
失踪的规则 | 行为 |
---|---|
“填满” |
的内容替换缺失的数据 的 |
“错误” |
停止导入并显示错误消息,显示丢失的记录和字段。 |
“omitrow” |
省略包含缺失数据的行。 |
“omitvar” |
省略包含缺失数据的变量。 |
例子:选择。MissingRule = 'omitrow';
数据类型:字符
|字符串
EmptyLineRule
- - - - - -过程来处理空行
“跳过”
|“读”
|“错误”
过程来处理数据中的空行,指定为“跳过”
,“读”
,或“错误”
.导入函数将空白解释为空。
空行规则 | 行为 |
---|---|
“跳过” |
跳过空行。 |
“读” |
导入空行。导入函数使用中指定的值解析空行VariableWidths ,VariableOptions ,MissingRule ,以及其他相关属性,例如空格 . |
“错误” |
显示错误消息并中止导入操作。 |
例子:选择。EmptyLineRule = '跳过';
数据类型:字符
|字符串
ImportErrorRule
- - - - - -过程来处理导入错误
“填满”
(默认)|“错误”
|“omitrow”
|“omitvar”
过程来处理导入错误,该错误指定为本表中的值之一。
导入错误规则 | 行为 |
---|---|
“填满” |
类的内容替换发生错误的数据 的 |
“错误” |
停止导入并显示错误消息,显示导致错误的记录和字段。 |
“omitrow” |
省略发生错误的行。 |
“omitvar” |
省略发生错误的变量。 |
例子:选择。ImportErrorRule = 'omitvar';
数据类型:字符
|字符串
ExtraColumnsRule
- - - - - -过程来处理额外的列
“addvars”
|“忽略”
|“包装”
|“错误”
过程处理数据中的额外列,这些列指定为本表中的值之一。
额外列规则 | 行为 |
---|---|
“addvars” |
要导入额外的列,请创建新变量。如果有 |
“忽略” |
忽略额外的数据列。 |
“包装” |
将额外的数据列包装到新记录中。这个操作不会改变变量的数量。 |
“错误” |
显示错误消息并中止导入操作。 |
数据类型:字符
|字符串
对象的功能
getvaropts |
获取变量导入选项 |
setvaropts |
设置变量导入选项 |
setvartype |
设置可变数据类型 |
预览 |
使用导入选项预览文件中的八行 |
例子
定义分隔文本文件中变量的导入选项
定义一个用于读取多个变量的导入选项对象patients.dat
.
根据文件的内容,定义这些变量属性:名称、类型、分隔符、数据起始位置和额外列规则。
varNames = {“姓”,“性别”,“年龄”,“位置”,“高度”,“重量”,“抽烟”};varTypes = {“字符”,“分类”,“int32”,“字符”,“双”,“双”,“逻辑”};分隔符=',';dataStartLine = 2;extraColRule =“忽略”;
使用delimitedTextImportOptions
函数和变量信息初始化导入选项对象选择
.
opts = delimitedTextImportOptions(“VariableNames”varNames,...“VariableTypes”varTypes,...“分隔符”分隔符,...“DataLines”dataStartLine,...“ExtraColumnsRule”, extraColRule);
使用预览
函数使用import options对象预览数据。
预览(“patients.dat”选择)
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.dat”、选择);谁T
名称大小字节类属性T 100x7 30563表
提示
介绍:
R2016b -
DelimitedTextImportOptions
对象R2018b -
delimitedTextImportOptions
函数
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。