文件

detectImportOptions

根据文件内容创建导入选项

句法

选择= detectImportOptions(文件名)
opts = detectimportoptions(文件名,名称,值)

描述

例子

选择= detectImportOptions (文件名在文件中查找表,并返回用于导入表的导入选项。您可以修改选项对象并使用它可阅读如何控制MATLAB®进口表格数据。返回的选项类型取决于文件扩展名。例如,函数返回aSpreadsheetImportOptions如果对象文件名是一个电子表格文件。然而,函数返回DelimitedTextImportOptionsFixedWidthImportOptions如果对象文件名是一个文本文件。

例子

选择= detectImportOptions (文件名名称,价值在一个或多个指定的附加参数的帮助下定位文件中的表名称,价值对参数。

例子

全部收缩

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

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

选择= detectImportOptions ('患者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'…使用setvaropts/getvaropts Range Properties: DataRange: 'A2' (Start Cell) variableamesrange: 'A1' RowNamesRange: " VariableUnitsRange: " VariableDescriptionsRange: "

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

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

使用可阅读与options对象一起导入指定的变量。

T = readtable ('患者xls',选择);摘要(T)
变量:收缩期:100x1双重值:MIN 109中位数122 MAX 138舒张:100x1双值:MIN 68中位数81.5 MAX 99

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

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

选择= detectImportOptions (“airlinesmall.csv”
opts = delimitedtextimportoptions with属性:format属性:delimiter:{','}空白:'\ b \ t'排列:{'\ n''\ r'''\ r \ n'} CommentStyle:{} inceCutivedelimitersrule:'split'领导者: 'keep' EmptyLineRule: 'skip' Encoding: 'US-ASCII' 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 Location Properties: DataLine: 2 VariableNamesLine: 1 RowNamesColumn: 0 VariableUnitsLine: 0 VariableDescriptionsLine: 0

检查类型变量的财产出租车滑行

getVaropts(选择,{“TaxiIn”'滑行'})
ans = 1x2 TextVariableImportOptions数组的属性:WhitespaceRule类型FillValue Name QuoteRule TreatAsMissing

更改变量的类型出租车滑行

选择= setvartype(选择,{“TaxiIn”'滑行'},'双倍的');

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

选择。SelectedVariableNames = {“TaxiIn”'滑行'};

使用可阅读函数和选项对象一起导入选定的变量。显示表的摘要。

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 (“outages.csv”);

指定要使用哪些变量可阅读,然后显示摘要。所选变量的数据类型为字符

选择。SelectedVariableNames = {“地区”'原因'};T = readtable (“outages.csv”,选择);摘要(T)
变量:Region: 1468x1 cell array of character vectors原因:1468x1 cell array of character vectors

导入文本数据作为字符串数据类型,然后通过指定导入选项TextType名称-值对。

选择= detectImportOptions (“outages.csv”“TextType”“字符串”);

指定要使用哪些变量可阅读,然后显示摘要。所选变量的数据类型为字符串

选择。SelectedVariableNames = {“地区”'原因'};T = readtable (“outages.csv”,选择);摘要(T)
变量:区域:1468x1字符串原因:1468x1字符串

输入参数

全部收缩

要读取的文件的名称,指定为字符向量。如果文件名然后包括文件扩展名detectImportOptions从扩展名确定文件格式。否则,您必须指定'文件类型'名称-值对指示文件类型。

detectImportOptions函数支持以下文件扩金宝app展名:. txt.DAT.. csv.xls..xlsb.xlsm.xlsx.xltm.xltx,。ods

笔记

文件扩展名.xlsb。ods只支持Excel平金宝app台®对于Windows®

例子:“myFile.xlsx”

名称值对参数

指定可选的逗号分离对名称,价值参数。的名字是参数名称和价值为对应值。的名字必须出现在单引号内(' ').可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

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

参数

全部收缩

文件类型,指定为逗号分隔对组成'文件类型',要么“文本”“表格”

指定'文件类型'时的名称-值对参数文件名不包括文件扩展名,或者扩展名不是以下其中之一:

  • . txt.DAT.,或. csv用于分隔文本文件

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

笔记

文件扩展名.xlsb。ods仅支持具有Wind金宝appows Excel的平台。

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

输入的文本数据的类型,指定为逗号分隔对,由“TextType”,要么'char'“字符串”

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

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

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

输入导入日期和时间数据,指定为逗号分隔的配对'dateTimetype'和以下之一:“datetime”“文本”,或“exceldatenum”.的值“exceldatenum”只适用于电子表格文件,而不适用于文本文件。

价值 输入日期和时间数据
“datetime”

MATLABdatetime数据类型

有关更多信息,请参见datetime

“文本”

字符向量的单元格数组

“exceldatenum”

Excel序列日期号码

序列号是一个单独的数字,等于从给定的参考日期开始的天数。Excel串行日期数字使用不同的参考日期比MATLAB串行日期数字。有关Excel日期的更多信息,请参见https://金宝appsupport.microsoft.com/en-us/kb/214330

例子:“DatetimeType”、“文本”

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

例子:'numvarialbles',10

数据类型:|

文件中的标题线数,指定为逗号分隔对组成“NumHeaderLines”一个正整数。如果未指定,导入函数将自动检测文件标题行数。

例子:'numheaderlines',7

数据类型:|

仅电子表格文件参数

全部收缩

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

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

例子:“Sheet7”

例子:7.

数据类型:字符||

要读取的工作表的部分,表示为由逗号分隔对指定的矩形区域'范围'和这些形式中的一个字符向量。

指定的方法范围 描述

'Corner1: Corner2'

矩形范围

使用语法指定范围'Corner1: Corner2',在那里角落1.角落2.是两个相对的角落,用于定义该地区。例如,“D2: H4”代表两个角之间的3×5矩形区域D2H4.在工作表上。这'范围'名称值对参数不区分大小写,并使用Excel A1参考样式(请参阅Excel帮助)。

例子:'范围','角落1:corner2'

''

不明或空

如果未指定,导入功能将自动检测使用范围。

例子:“范围”,“

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

'第一行:Row2'

行范围

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

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

'Column1: Column2'

列范围

可以使用Excel列指示符指定开始列和结束列来标识范围。然后可阅读自动检测指定列内已使用的行范围。例如,导入功能解释范围规范“答:F”作为在列A到F(包含)中的使用范围内读取所有行的指令。

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

'namedrange.'

Excel的命名范围

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

例子:'范围','mytable'

仅文本文件的参数

全部收缩

字段分隔符字符,指定为字符向量或字符向量的单元格数组。

例子:“|”

例子:{‘;’,‘*’}

数据类型:字符|细胞

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

例子:“_”

例子:“? !,”

行尾字符,指定为一个或多个字符的字符向量或字符向量的单元格数组。

例子:' \ n '

例子:'\ r \ n'

例子:{‘\ b’,‘:’}

数据类型:字符|细胞

与文件相关联的字符编码方案,指定为包含的逗号分隔对'编码'“系统”或一个标准字符编码方案名称,如该表中的一个值。

“繁体”

“iso - 8859 - 1”

“windows - 847”

“Big5-HKSCS”

“iso - 8859 - 2”

'Windows-949'

“CP949”

“iso - 8859 - 3”

“windows - 1250”

'euc-kr'

“iso - 8859 - 4”

“windows - 1251”

'euc-jp'

“iso - 8859 - 5”

“windows - 1252”

“EUC-TW”

“iso - 8859 - 6”

“windows - 1253”

“GB18030”

“iso - 8859 - 7”

“windows - 1254”

'GB2312'

“iso - 8859 - 8”

'Windows-1255'

“GBK”

“iso - 8859 - 9”

“windows - 1256”

“IBM866”

“iso - 8859 - 11”

“windows - 1257”

“KOI8-R”

'ISO-8859-13'

“windows - 1258”

“KOI8-U”

“iso - 8859 - 15”

“us - ascii”

“麦金塔”

“utf - 8”

'shift_jis'

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

注释的样式,指定为字符向量或字符向量的单元格数组。

例如,指定CommentStyle作为“%”忽略同一行上百分号的文本。

例子:{'/ *'}

数据类型:字符|细胞

输出参数

全部收缩

导入指定文件的选项,返回为SpreadsheetImportOptions对象或一个DelimitedTextImportOptions对象。选项对象的类型取决于指定的文件类型。文本档案(. txt.DAT.,或. csv),detectImportOptions函数返回A.DelimitedTextImportOptionsFixedWidthImportOptions对象。电子表格档案(.xls..xlsb.xlsm.xlsx.xltm.xltx,或。ods),detectImportOptions函数返回A.SpreadsheetImportOptions对象。

根据指定文件的内容detectImportOptions功能:自动检测和设置这些参数。

电子表格文件 为文本文件
variablenames.(如果有的话) variablenames.(如果有的话)
VariableTypes VariableTypes
DataRange DataLine.
variablenamesrange. VariableNamesLine
分隔符
领导者(如果空格是分隔符)
连续寿命皆宜(如果空格是分隔符)
partialfieldrule.(宽度固定的文件)

介绍在R2016B.

这个话题有用吗?