主要内容

readmatrix

从文件中读取矩阵

描述

例子

一个= readmatrix (文件名通过从文件中读取面向列的数据来创建数组。的readmatrix函数对文件的导入参数进行自动检测。

readmatrix根据文件扩展名确定文件格式:

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

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

对于包含数字和文本混合数据的文件,readmatrix默认情况下,将数据作为数字数组导入。

例子

一个= readmatrix (文件名选择另外使用导入选项选择

例子

一个= readmatrix (___名称,值创建从与由一个或多个名称值对的参数指定的附加选项的文件的阵列。指定名称 - 值对之前使用任何从以前的语法输入参数。

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

  • 文本文件,DateLocale编码

  • 电子表格文件,UseExcel

例子

全部折叠

显示basic_matrix.txt然后将数据导入一个矩阵。

typebasic_matrix.txt
6,8,3,1 5 4 7 3 1 6 7 10 4 2 8 2 7 5 9
M = readmatrix (“basic_matrix.txt”
M =5×46 8 3 1 5 4 7 3 1 6 7 10 4 2 8 2 2 7 5 9

basic_matrix.xls成矩阵。

M = readmatrix ('basic_matrix.xls'
M =5×46 8 3 1 5 4 7 3 1 6 7 10 4 2 8 2 2 7 5 9

预览电子表格文件中的数据,并从指定的工作表和范围以矩阵形式导入数字数据。

电子表格文件airlinesmall_subset.xlsx包含1996年至2008年间多个工作表中的数据。每个工作表都有给定年份的数据。预览文件中的数据airlinesmall_subset.xlsx.的预览函数默认显示第一个工作表中的数据。文件中的前8个变量包含数字数据。

选择= detectImportOptions (“airlinesmall_subset.xlsx”);预览(“airlinesmall_subset.xlsx”选择)
ans =.表8×29年月DAYOFMONTH DAYOFWEEK DepTime CRSDepTime ArrTime CRSArrTime UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime开播ArrDelay DepDelay产地目标距离TaxiIn TaxiOut取消CancellationCode改行CarrierDelay WeatherDelay SDELAY SecurityDelay LateAircraftDelay ____ _____ __________ _________ _______ __________ _______ __________ _____________ _________ __________ _________________ ______________ _______ ________ ________ _______ _______ ________ ______ ________________ ________________ ________ ____________ ____________ __________ _____________ _________________ 1996 1 18 4 2117 2120 2305 2259 { 'HP'} 415 { 'N637AW'} 108 99 85 6 -3 { 'COS'} { 'PHX'} 551 5 18 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996年1 12 5 1252 1245 1511 1500 { 'HP'} 610 { 'N905AW'} 79 75 58 11 7 { 'LAX'} { 'PHX'} 370 3 18 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996年1 16 2 1441 1445 1708 1721 { 'HP'} 211 {'N165AW'} 87 96 74 -13-4 { 'RNO'} { 'PHX'} 601 4 9 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996 1 1 1 2258 2300 2336 2335 {'HP'} 1245 { 'N183AW'} 38 35 20 1 -2 { 'TUS'} { 'PHX'} 110 6 12 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996 1 4 4 1814 1814 1901 1910 { 'US'} 683 { 'N963VJ'} 47 56 34 -9 0 { 'DTW'} { 'PIT'} 201 6 7 0 {为0x0炭} 0 {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996年1 31 3 1822 1820 1934 1925 { 'US'} 757 { 'N912VJ'} 72 65 52 9 2 { 'PHL'} {”PIT '} 267 6 14 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996年1 18 4 729 730 841 843 {' US '} 1564 {' N941VJ”} 72 73 58 -2 -1 { 'DCA'} { 'PVD'} 357 3 11 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996年1月26日5 1704 1705 1829 1839 { 'NW'} 1538 { 'N960N'} 85 94 69 -10 -1 { 'DTW'} { 'RIC'} 456 3 13 0 {为0x0炭{0为0x0炭} {为0x0炭}{为0x0炭} {为0x0炭} {为0x0炭}

配置要导入的opts对象中的值10已命名的工作表中的前5个变量的行“2007”

选择。表=“2007”;选择。SelectedVariableNames = [1:5];选择。DataRange =“二”;M = readmatrix (“airlinesmall_subset.xlsx”选择)
M =10×52007年1 2 2 711 2007 1 3 3 652 2007 1 4 4 1116 2007 1 5 5 825 2007 1 7 7 1411 2007 1 8 1 1935 2007 1 9 2 2005 2007 1 11 4 1525 2007 1 12 5 1133 2007 1 13 6 922

预览电子表格文件中的数据,并从指定的工作表和范围中导入数字数据(如矩阵)。

电子表格文件airlinesmall_subset.xlsx包含1996年至2008年间多个工作表中的数据。每个工作表都有给定年份的数据。预览文件中的数据airlinesmall_subset.xlsx.的预览函数默认显示第一个工作表中的数据。文件中的前8个变量包含数字数据。

选择= detectImportOptions (“airlinesmall_subset.xlsx”);预览(“airlinesmall_subset.xlsx”选择)
ans =.表8×29年月DAYOFMONTH DAYOFWEEK DepTime CRSDepTime ArrTime CRSArrTime UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime开播ArrDelay DepDelay产地目标距离TaxiIn TaxiOut取消CancellationCode改行CarrierDelay WeatherDelay SDELAY SecurityDelay LateAircraftDelay ____ _____ __________ _________ _______ __________ _______ __________ _____________ _________ __________ _________________ ______________ _______ ________ ________ _______ _______ ________ ______ ________________ ________________ ________ ____________ ____________ __________ _____________ _________________ 1996 1 18 4 2117 2120 2305 2259 { 'HP'} 415 { 'N637AW'} 108 99 85 6 -3 { 'COS'} { 'PHX'} 551 5 18 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996年1 12 5 1252 1245 1511 1500 { 'HP'} 610 { 'N905AW'} 79 75 58 11 7 { 'LAX'} { 'PHX'} 370 3 18 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996年1 16 2 1441 1445 1708 1721 { 'HP'} 211 {'N165AW'} 87 96 74 -13-4 { 'RNO'} { 'PHX'} 601 4 9 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996 1 1 1 2258 2300 2336 2335 {'HP'} 1245 { 'N183AW'} 38 35 20 1 -2 { 'TUS'} { 'PHX'} 110 6 12 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996 1 4 4 1814 1814 1901 1910 { 'US'} 683 { 'N963VJ'} 47 56 34 -9 0 { 'DTW'} { 'PIT'} 201 6 7 0 {为0x0炭} 0 {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996年1 31 3 1822 1820 1934 1925 { 'US'} 757 { 'N912VJ'} 72 65 52 9 2 { 'PHL'} {”PIT '} 267 6 14 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996年1 18 4 729 730 841 843 {' US '} 1564 {' N941VJ”} 72 73 58 -2 -1 { 'DCA'} { 'PVD'} 357 3 11 0 {为0x0炭{0为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} {为0x0炭} 1996年1月26日5 1704 1705 1829 1839 { 'NW'} 1538 { 'N960N'} 85 94 69 -10 -1 { 'DTW'} { 'RIC'} 456 3 13 0 {为0x0炭{0为0x0炭} {为0x0炭}{为0x0炭} {为0x0炭} {为0x0炭}

进口10第一行5工作表中的变量“2007”

M = readmatrix (“airlinesmall_subset.xlsx”'张'“2007”“范围”“A2: E11”
M =10×52007年1 2 2 711 2007 1 3 3 652 2007 1 4 4 1116 2007 1 5 5 825 2007 1 7 7 1411 2007 1 8 1 1935 2007 1 9 2 2005 2007 1 11 4 1525 2007 1 12 5 1133 2007 1 13 6 922

输入参数

全部折叠

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

根据你的文件的位置,文件名可以表现为这些形式中的一种。

位置

形式

当前文件夹或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存储 wasbwasbs
HDFS™ HDFS.

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

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

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

  • 在Windows上®与微软系统®Excel®软件,导入功能读取任何Excel电子表格文件格式识别您的Excel版本。

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

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

数据类型:char|字符串

文件导入选项,指定为SpreadsheetImportOptionsDelimitedTextImportOptionsFixedWidthImportOptions,或XMLImportOptions对象创建的detectImportOptions函数。的选择对象包含控制数据导入过程的属性。有关每个对象属性的更多信息,请参阅适当的对象页面。

类型的文件 输出
电子表格文件 SpreadsheetImportOptions对象(仅对DataRange,VariableNames属性)
文本文件 DelimitedTextImportOptions对象
宽度固定的文本文件 FixedWidthImportOptions对象
XML文件 XMLImportOptions对象

名称-值对的观点

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

示例:“NumHeaderLines”,5指示表格数据前面的前五行是标题行。
文本和电子表格文件

全部折叠

文件类型,指定为逗号分隔对,由“文件类型”“文本”“表格”

指定“文件类型”名称 - 值对的参数,当文件名不包括文件扩展名,或者扩展名不是下列之一:

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

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

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

数据类型:char|字符串

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

示例:“NumHeaderLines”7

数据类型:|双人间

期望的变量数量,由逗号分隔的对组成“ExpectedNumVariables”一个正整数。如果没有指定,导入功能自动检测变量的数目。

数据类型:|双人间

要从文本或电子表格文件中读取的部分数据,指定为由逗号分隔的对组成“范围”以及其中一种形式的字符向量、字符串标量或数字向量。

指定的方法范围 描述

从细胞

“细胞”(行坳)

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

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

  • 两个元素的数字向量的形式(行坳)表示起始行和列。

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

示例:的A5(5 - 1)

矩形范围

“Corner1: Corner2”[r1 c1 r2 c2]

在其中一个表单中使用矩形范围指定要读取的精确范围。

  • “Corner1: Corner2”—指定使用范围Corner1Corner2定义要在Excel中读取的区域的两个相对的角是哪两个A1符号。例如,“C2: N15”

  • [r1 c1 r2 c2]—使用包含start-row、start-column、end-row和end-column的四个元素的数字向量指定范围。例如,[2 3 15 13]

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

行范围或列范围

“第一行:Row2”“Column1: Column2”

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

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

示例:“5:500”

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

使用指定列范围,导入功能自动通过从第一非空行读取到数据或页脚范围的结束检测行的程度。

属性中指定的列数必须与ExpectedNumVariables财产。

示例:“答:K”

起始行号

n

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

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

示例:5

Excel的命名范围

“NamedRange”

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

示例:“范围”、“myTable”

未指定或空

''

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

示例:“范围”,“”

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

数据类型:char|字符串|双人间

将文本解释为缺失数据,并指定为字符向量、字符串标量、字符向量单元数组或字符串数组。

示例:TreatAsMissing,{“NA”,“TBD”}指示导入函数处理任何出现的NATBD作为缺失的字段。

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

输出数据类型,指定为由逗号分隔的对组成的“OutputType”以及包含本表中任何数据类型名称的字符向量或字符串标量。

类型的数据 输出数据类型
数字 “uint8”“int8”“int16”“int32”“int64”'UINT16'“uint32”“uint64”“单”,或“双”
文本 “字符”“字符串”
其他类型 “datetime”“持续时间”,或“绝对”

示例:“OutputType”、“uint8”

数据类型:char|字符串

文本文件只

全部折叠

分隔文本文件中的字段分隔符字符,指定为字符向量、字符串标量、字符向量单元格数组或字符串数组。

示例:“分隔符”,“|”

示例:“分隔符 ',{';','*'}

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

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

示例:'空白', '_'

示例:'空白', '?!'

作为字符向量、字符串标量、字符向量单元格数组或字符串数组指定的行尾字符。

示例:' LineEnding ', ' \ n '

示例:“LineEnding”、“\ r \ n”

示例:LineEnding,{‘\ b’,‘:’}

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

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

例如,要忽略同一行百分号后面的文本,请指定CommentStyle作为'%'

示例:CommentStyle,{“/ *”}

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

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

如果指定“编码”参数之外的参数,然后是readmatrix函数使用的指定值“编码”,覆盖在导入选项中定义的编码。

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

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

数据类型:char|字符串

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

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

  • XX.是指示语言小写的ISO 639-1双字母代码。

有关区域设置的公共值列表,请参见语言环境的名称-值对参数datetime函数。

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

如果指定DateLocale除…之外选择的,然后导入函数使用指定的值DateLocale参数,覆盖在导入选项中定义的区域设置。

示例:“DateLocale”、“ja_JP”

字符表示数值变量小数分隔,指定为字符向量或标量的字符串。进口函数使用指定字符DecimalSeparator名称-值对,用来区分数字的整数部分和小数部分。

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

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

数据类型:char|字符串

在数字变量中指示数以千计分组的字符,指定为字符向量或字符串标量。数以千计的分组字符充当了视觉分隔符,每三个位置的值分组一个数字。进口函数使用指定字符ThousandsSeparator名称-值对用于解释导入的数字。

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

数据类型:char|字符串

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

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

数据类型:逻辑

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

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

数据类型:char|字符串

管理定界文本文件中的前导定界符(指定为本表中的值之一)的过程。

领先的分隔符规则 行为
“保持” 分隔符。
“忽略” 忽略了分隔符。
“错误” 返回一个错误并中止导入操作。

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

领先的分隔符规则 行为
“保持” 分隔符。
“忽略” 忽略了分隔符。
“错误” 返回一个错误并中止导入操作。
电子表格文件只

全部折叠

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

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

数据类型:char|字符串||双人间

的实例Microsoft Excel对于Windows,当读取电子表格数据时,指定为逗号分隔对,由'使用',要么真正的,或

您可以设置'使用'参数设置为以下值之一:

  • 真正的—导入功能在读取文件时启动Microsoft Excel实例。

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

UseExcel

真正的

金宝app支持文件格式

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

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

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

是的

没有

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

介绍了R2019a