主要内容

spreadsheetDatastore

数据存储电子表格文件

描述

使用一个spreadsheetDatastore对象来管理大型电子表格文件的集合,集合不一定适合在内存中。您可以创建一个spreadsheetDatastore对象使用spreadsheetDatastore函数,指定它的属性,然后使用对象导入数据功能。

创建

描述

例子

ssd= spreadsheetDatastore (位置)创建一个电子表格数据存储从指定的数据集合位置

ssd= spreadsheetDatastore (位置,名称,值)指定额外的参数和属性ssd使用一个或多个名称参数。例如,spreadsheetDatastore(位置、“FileExtensions”(“.xlsx”、“xls”))指定的文件中包含数据存储根据文件扩展名。

输入参数

全部展开

文件或文件夹包括在数据存储中,指定为一个文件集对象,如文件路径,或者作为一个DsFileSet对象。

  • 文件集对象,您可以指定位置作为一个文件集对象。作为一个指定位置文件集数据存储对象会导致更快的建设时间相比,或指定一个路径DsFileSet对象。有关更多信息,请参见matlab.io.datastore.FileSet

  • 文件路径,您可以指定一个文件路径作为特征向量或字符串标量。您可以指定多个文件路径作为一个单元阵列特征向量或一个字符串数组。

  • DsFileSet对象,您可以指定一个DsFileSet对象。有关更多信息,请参见matlab.io.datastore.DsFileSet

文件或文件夹可能是本地或远程:

  • 本地文件或文件夹-指定本地文件或文件夹路径。如果文件不在当前文件夹,然后指定完整或相对路径。指定文件夹的子文件夹内文件不会自动包含在数据存储中。您可以使用通配符(*)时指定的本地路径。这个角色指定数据存储包括所有匹配的文件或匹配所有文件文件夹。

  • 远程文件或文件夹-指定完整路径远程文件或文件夹作为一个统一资源定位符(URL)的形式hdfs: / / /path_to_file。有关更多信息,请参见使用远程数据

指定一个文件夹时,数据存储只包含文件支持的文件格式和忽略任何其他格式的文件。万博1manbetx指定一个自定义列表的文件扩展名,包括数据存储,看到FileExtensions财产。

spreadsheetDatastore函数支持扩展的文件万博1manbetx:xls,.xlsx,.xlsm,.xltx,.xltm

例子:“file1.xlsx”

例子:“. . / dir /数据/ file1.xlsx”

例子:[" C: \ dir \ data \ file1.xlsx”,“C: \ dir \ data \ file2.xlsx”)

例子:“s3: / / bucketname / path_to_files / * xls”

名称-值参数

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

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:ssd = spreadsheetDatastore (“C: \ dir \ spreadsheetdata”、“FileExtensions”(“xls”、“.xlsm”))

电子表格文件扩展名,指定为名称参数组成的“FileExtensions”一个特征向量,单元阵列特征向量,标量字符串或字符串数组。

  • 如果你不指定“FileExtensions”,然后spreadsheetDatastore自动包括所有文件xls,.xlsx,.xlsm,.xltx,.xltm在指定的路径扩展。

  • 如果你想包括电子表格与非标准的文件扩展名SpreadsheetDatastore,然后显式地指定这些扩展。

  • 如果你想创建一个SpreadsheetDatastore没有扩展名的文件,然后指定“FileExtensions”作为一个空的特征向量,

例子:“FileExtensions”、“

例子:“FileExtensions”、“xls”

例子:“FileExtensions”(“.xlsx”、“.xlsm”)

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

子文件夹包含标志,指定为名称参数组成的“IncludeSubfolders”真正的,0或1。指定真正的包括每个文件夹内的所有文件和子文件夹只包括每个文件夹内的文件。

如果你不指定“IncludeSubfolders”,那么默认值是

例子:“IncludeSubfolders”,真的

数据类型:逻辑|

输出数据类型指定为名称参数组成的“OutputType”这些值之一:

  • “汽车”——检测如果数据存储的输出应该是一个表或一个时间表基于你是否指定“RowTimes”名称-值参数。如果您指定“RowTimes”然后输出一个时间表;否则,输出是一个表。

  • “表”——返回一个

  • “时间表”——返回一个时间表

的价值OutputType确定返回的数据类型预览,,readall功能。这个选项结合使用“RowTimes”名称-值对回归时间表spreadsheetDatastore

例子:“OutputType”、“时间表”

数据类型:字符|字符串

替代的文件系统根路径,指定为名称参数组成的“AlternateFileSystemRoots”和一个字符串向量或一个单元阵列。使用“AlternateFileSystemRoots”当您创建一个数据存储在本地机器上,但需要在另一台机器上访问和处理数据(可能是不同的操作系统)。另外,当处理数据使用并行计算工具箱™和MATLAB®并行服务器™,数据存储在您的本地机器复制的数据在不同的平台上云或集群机器,您必须使用“AlternateFileSystemRoots”把根路径。

  • 把一组相当于一根路径,指定“AlternateFileSystemRoots”作为字符串向量。例如,

    [" Z: \数据集”、“/ mynetwork /数据集”)

  • 把多个根集数据存储路径是等价的,指定“AlternateFileSystemRoots”作为一个单元阵列包含多个行,每一行表示一组等价的根路径。指定单元阵列中的每一行作为一个字符串向量或单元阵列的特征向量。例如:

    • 指定“AlternateFileSystemRoots”作为一个字符串向量的单元阵列。

      {[Z: \“数据集”、“/ mynetwork /数据集”);…[" Y: \数据集”、“/ mynetwork2 /数据集”、“年代:\数据集”)}

    • 另外,指定“AlternateFileSystemRoots”作为一个单元阵列单元阵列的特征向量。

      {{“Z: \数据集”、“mynetwork /数据集”},…{“Y: \数据集”,“mynetwork2 /数据集”,年代:\数据集的}}

的价值“AlternateFileSystemRoots”必须满足以下条件:

  • 包含一个或多个行,每一行指定一组等价的根路径。

  • 每一行指定多个根路径和每个根路径必须包含至少两个字符。

  • 根路径都是独一无二的,没有子文件夹。

  • 包含至少一个根路径条目指向文件的位置。

有关更多信息,请参见为处理在不同的机器上或设置数据存储集群

例子:[" Z: \数据集”、“/ mynetwork /数据集”)

数据类型:字符串|细胞

输出文本变量的数据类型,指定为名称参数组成的“TextType”,要么“字符”“字符串”

  • 如果输出表的,readall,或预览函数包含文本变量“TextType”指定数据类型的变量。

  • 如果“TextType”“字符”,然后输出单元阵列的特征向量。

  • 如果“TextType”“字符串”,然后输出类型字符串

数据类型:字符|字符串

除了这些名称-值对,您还可以指定属性的名称-值对(除了这个页面文件属性)。

属性

全部展开

SpreadsheetDatastore属性描述的格式文件数据存储对象,和控制如何从数据库读取数据。除了文件属性,你可以指定的值SpreadsheetDatastore当您创建属性使用名称-值对参数数据存储对象。查看或修改属性在创建对象时,使用点符号:

ds = spreadsheetDatastore (“airlinesmall_subset.xlsx”);ds。表= (1 - 2);ds。范围=“A1: C6”;

文件属性

文件包含在数据存储、解析为单元阵列特征向量或一个字符串数组,其中每个字符向量或字符串是一个文件的完整路径。的位置论点的spreadsheetDatastore数据存储函数定义这些文件。

第一个文件中指定单元阵列决定的变量名称和格式信息数据存储的所有文件。

例子:[" C: \ dir \ data \ file1.xls”;“C: \ dir \ data \ file2.xls”)

数据类型:细胞|字符串

跳过的行数在每个表的开始阅读时,指定为一个正整数。当你指定范围财产,NumHeaderLines跳过的行数在指定的数据块的开始。

数据类型:

表文件,指定为一个特征向量,单元阵列的特征向量,字符串标量、数组或字符串包含表名称,或数字矢量表的索引。空的特征向量表明,所有表都包含的文件。

例子:[" sheet1”、“sheet7”)

例子:(3 5 7)

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

行和列,指定为一个特征向量或字符串标量,它定义了一个矩形块的数据表。空的特征向量表明文件的范围是开始和结束的数据。

例子:“B1: T7”

例子:“C:”

数据类型:字符|字符串

指标用于读取第一行的第一个文件数据存储作为变量名,指定为真正的(1)或(0)。

  • 如果真正的,那么第一nonheader行第一个文件确定数据的变量名。

  • 如果,然后第一个nonheader排第一个文件包含数据的第一行。默认的变量名称被分配Var1,Var2,等等。

数据类型:逻辑|

国旗保存变量名称,指定为“修改”“保存”

  • “修改”——转换无效变量名(如决定的isvarnameMATLAB函数)来有效的标识符。

  • “保存”——保存变量名是无效的MATLAB标识符,如变量名,包括空间和非ascii字符。

从R2019b,变量名和行名称可以包含任何字符,包括空格和非ascii字符。同时,他们不仅可以从任何字符,字母。变量和行名称不需要有效的MATLAB标识符(如决定的isvarname功能)。保存这些变量名和行名称,设置的值VariableNamingRule“保存”。变量名不刷新时的价值VariableNamingRule改变从“修改”“保存”

数据类型:字符|字符串

数据存储变量的名称,指定为一个特征向量,单元阵列的特征向量,标量字符串或字符串数组。指定变量名在它们出现的顺序文件。如果你不指定变量名称,数据存储从第一nonheader行检测他们在第一个文件。您可以指定VariableNames特征向量或字符串标量,然而数据存储转换和存储单元阵列的属性值的特征向量。当修改VariableNames属性,新变量名称必须匹配的数量的原始变量名。

支持无万博1manbetx效MATLAB标识符作为变量名,如变量名称包含空格和非ascii字符,设置的值VariableNamingRule参数“保存”

如果ReadVariableNames,然后VariableNames默认为[" Var1”、“Var2”…]

例子:“时间”,“日期”,“数量”)

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

变量类型,指定为“替身”,“字符”,“字符串”,“分类”,或“datetime”每个变量的类型,这表明当阅读数据。

变量类型的列表对应的变量VariableNames。类型,字符,datetime可以自动检测到的数据。您可以指定VariableTypes然而,作为一个特征向量或字符串标量spreadsheetDatastore自动将其转换为一个单元阵列特征向量或一个字符串数组。

例子:(“字符”、“分类”)

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

属性预览,,readall

变量来读取这个文件,指定为一个特征向量,单元阵列的特征向量,标量字符串或字符串数组。向量的每个字符或字符串包含一个变量的名称。你可以在任何顺序指定变量名。您可以指定SelectedVariableNames然而,与一个特征向量或字符串标量spreadsheetDatastore自动将其转换为一个单元阵列特征向量或一个字符串数组。

支持无万博1manbetx效MATLAB标识符作为变量名,如变量名称包含空格和非ascii字符,设置的值VariableNamingRule参数“保存”

例子:[" Var3”、“Var7”、“Var4”)

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

选择变量类型,指定为“替身”,“字符”,“字符串”,“分类”,或“datetime”,这表明每个选定的类型变量时,读取数据。变量类型的列表对应的变量SelectedVariableNames。类型,字符,datetime可以自动检测到的数据。您可以指定SelectedVariableTypes作为一个特征向量或字符串标量,然而它是自动转化为特征向量的细胞数组或字符串数组。

例子:(“双”、“datetime”)

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

读取的数据量在一个调用函数,指定为“文件”“表”,或者是一个正整数标量。

  • 如果ReadSize“文件”,那么每次调用一次读取一个文件的所有数据。

  • 如果ReadSize“表”,那么每次调用一次读取一个表的所有数据。

  • 如果ReadSize是一个正整数,那么每次调用读取指定的行ReadSize或更少,如果达到最终的数据。

当你改变ReadSize从一个整数标量“文件”“表”,或者相反,数据存储重置使用重置函数。

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

行乘以变量名称指定为名称参数组成的“RowTimes”和一个变量名(如“日期”)或一个变量(如索引3)。

RowTimes是一个timetable-related参数。每一行的时间表与时间有关,这是在一次向量的时间表。中指定的变量RowTimes必须包含一个datetime或者一个持续时间向量。

如果该值的“OutputType”“时间表”,但你不指定“RowTimes”,然后spreadsheetDatastore使用第一个datetime持续时间变量的行乘以时间表。

使用的属性writeall

这个属性是只读的。

用于构建数据存储文件夹,作为特征向量的单元阵列返回。单元阵列是面向一个列向量。每个字符向量是通往一个文件夹,其中包含的数据文件。的位置论点的spreadsheetDatastore数据存储函数定义文件夹创建数据存储时。

文件夹当你修改属性重置文件财产的SpreadsheetDatastore对象。

数据类型:细胞

这个属性是只读的。

格式支持写作,作万博1manbetx为一个行向量的字符串返回。这个属性指定了使用时可能的输出格式writeall写输出文件的数据存储。

这个属性是只读的。

默认输出格式,作为字符串返回标量。当使用这个属性指定了默认格式writeall写输出文件的数据存储。

数据类型:字符串

对象的功能

hasdata 确定数据可用来读
numpartitions 数量的数据存储分区
分区 分区数据存储
预览 预览数据存储中数据的子集
在数据存储中读取数据
readall 读取所有数据存储中的数据
writeall 写数据存储文件
重置 数据存储重置为初始状态
sheetnames 从数据存储查询的表名
变换 变换数据存储
结合 合并来自多个数据存储的数据
isPartitionable 确定是否可分区的数据存储
isSubsettable 确定是否subsettable数据存储
isShuffleable 确定是否shuffleable数据存储

例子

全部折叠

创建一个spreadsheetDatastore对象使用一个文件集对象或文件路径。

创建一个文件集对象。创建一个spreadsheetDatastore对象。

fs = matlab.io.datastore.FileSet (“airlinesmall_subset.xlsx”);ssd = spreadsheetDatastore (fs)
ssd与属性= SpreadsheetDatastore:文件:{“…\ \ MATLAB文件\ \ airlinesmall_subset例子。xlsx’}文件夹:{”……\ \ MATLAB文件\例子”}AlternateFileSystemRoots:{}表:“范围:”表的格式属性:NumHeaderLines: 0 VariableNamingRule:“修改”ReadVariableNames:真VariableNames:{“年”、“月”、“DayofMonth”……和26}VariableTypes:{“双”、“双”、“双”……和26}属性控制表返回的预览,阅读,readall: SelectedVariableNames:{“年”、“月”、“DayofMonth”……和26}SelectedVariableTypes:{“双”、“双”、“双”……和26}ReadSize:‘文件’OutputType:“表”RowTimes:[]编写特殊属性:SupportedOutputFormats:[“三种”“csv”“xlsx”“x万博1manbetxls”“铺”“parq”] DefaultOutputFormat:“xlsx”

此外,您可以指定您的数据文件路径。

ssd = spreadsheetDatastore (“airlinesmall_subset.xlsx”);

创建一个SpreadsheetDatastore对象包含文件airlinesmall_subset.xlsx

ssd = spreadsheetDatastore (“airlinesmall_subset.xlsx”)
ssd与属性= SpreadsheetDatastore:文件:{“…\ \ MATLAB文件\ \ airlinesmall_subset例子。xlsx’}文件夹:{”……\ \ MATLAB文件\例子”}AlternateFileSystemRoots:{}表:“范围:”表的格式属性:NumHeaderLines: 0 VariableNamingRule:“修改”ReadVariableNames:真VariableNames:{“年”、“月”、“DayofMonth”……和26}VariableTypes:{“双”、“双”、“双”……和26}属性控制表返回的预览,阅读,readall: SelectedVariableNames:{“年”、“月”、“DayofMonth”……和26}SelectedVariableTypes:{“双”、“双”、“双”……和26}ReadSize:‘文件’OutputType:“表”RowTimes:[]编写特殊属性:SupportedOutputFormats:[“三种”“csv”“xlsx”“x万博1manbetxls”“铺”“parq”] DefaultOutputFormat:“xlsx”

显示表名称的文件。该文件包含一个表。

sheetnames (ssd, 1)
ans =13 x1字符串“1996”“1997”“1998”“1999”“2000”“2001”“2002”“2003”“2004”“2005”“2006”“2007”“2008”

指定的变量FlightNum在第二个表感兴趣的数据,和预览前八行。

ssd。表= 2;ssd。SelectedVariableNames =“FlightNum”;预览(ssd)
ans =8×1表FlightNum _____ 1014 1201 702 1184 1310 1759 1242 1558

只读变量的前三行DepTimeArrTime在第一单。

ssd。ReadSize = 3;ssd。表= 1;ssd。SelectedVariableNames = [“DepTime”,“ArrTime”];阅读(ssd)
ans =3×2表DepTime ArrTime _________ 2117 2305 1252 1511 1441 1708

阅读所有的表4、5、6。

ssd。表= 4:6;readall (ssd);

使用OutputTypeRowTimes名称-值对使SpreadsheetDatastore返回时间表而不是表。

创建一个数据存储tsunamis_dated.xlsx。指定“OutputType”作为“时间表”SpreadsheetDatastore返回表的时间表相反。

ssd = spreadsheetDatastore (“tsunamis_dated.xlsx”,“OutputType”,“时间表”);预览(ssd)
ans =8×15时间表日期经度纬度ValidityCode有效性CauseCode引起EarthquakeMagnitude国家位置MaxHeight IidaMagnitude强度NumDeaths DescDeaths时间___________ ________ _____ _______ ____________________ _____ ____________________________ ___________________ _________________ ____________________________ _____ _________________替__________ ________________________ 04 - mar - 1952 42.15 - 143.85 4{“明确的海啸”}1 8.1{‘地震’}{‘日本’}{SE。北海道岛”}6.5 - 2.7 2 33 1 04 - mar - 1952 01:22:41.000自1958年7月10 - 58.34 - -136.52 4{“明确的海啸”}3 8.3{地震和山体滑坡的}{‘美国’}{SE。阿拉斯加,正义与发展党’}524.26 - 4.6 5 5 1958 06:15:53.600 10 - 7月22日- 1960年5月- -39.5 - -74.5 4{“明确的海啸”}1 9.5{‘地震’}{“智利”}{智利中部的}25 4.6 - 4 1260 3 22日- 1960年5月- 1960年11月19:11:17.000 20 - - -6.8 - -80.7 4{“明确的海啸”}1 6.8{‘地震’}{秘鲁的}{秘鲁的}9 3.2 - 2.5 66 2 - 1960 22:01:56.400 11月20 - 28 - mar - 1964 61.1 - -147.5 4{“明确的海啸”}3 9.2{地震和山体滑坡的}{‘美国’}{‘威廉王子湾,正义与发展党’}67 6.1 221 3 28 - mar - 1964 03:36:14.000 16 - 1964年6月- 38.65 - 139.2 4{“明确的海啸”}1 7.5{‘地震’}{‘日本’}{西北。本州岛}5.8 2.7 - 2 1 16 - 26日1968年6月- 1964 04:01:44.300 14 - 8月- 0.2 - 119.8 4{“明确的海啸”}1 7.8{‘地震’}{“印度尼西亚”}{“班达海”}10 3.3 3 200 1968 22:14:19.400 14 - 8月23日- 1969年2月- -3.1 - 118.9 4{“明确的海啸”}1 6.9{‘地震’}{“印度尼西亚”}{“望加锡海峡”}4 2 2 600 1969 00:36:56.600 23 - 2月

当你没有指定“RowTimes”,spreadsheetDatastore使用第一行乘以datetime或持续时间变量。在这种情况下,日期变量是用于行乘以。这个数据有两个datetime变量:日期时间。的日期变量不包括信息小时,分钟,秒,虽然时间变量每个事件的具体时间。

指定“RowTimes”选项(使用事件时间时间行乘以变量)。

ssd = spreadsheetDatastore (“tsunamis_dated.xlsx”,“OutputType”,“时间表”,“RowTimes”,“时间”);预览(ssd)
ans =8×15时间表的时间经度纬度ValidityCode有效性CauseCode引起EarthquakeMagnitude国家位置MaxHeight IidaMagnitude强度NumDeaths DescDeaths ________________________ ______日期_____ _______ ____________________ _____ ____________________________ ___________________ _________________ ____________________________ _____ _________________替__________ ___________ 04 - mar - 1952 01:22:41.000 42.15 - 143.85 4{“明确的海啸”}1 8.1{‘地震’}{‘日本’}{SE。北海道岛”}6.5 - 2.7 2 33 1 04 - 3月- 1952年7月10 - 58.34 - -136.52 - 1958 06:15:53.600 4{“明确的海啸”}3 8.3{地震和山体滑坡的}{‘美国’}{SE。阿拉斯加,正义与发展党’}524.26 - 4.6 5 5 1 10——1958年7月22日——1960年5月——19:11:17.000 -39.5 - -74.5 4{“明确的海啸”}1 9.5{‘地震’}{“智利”}{智利中部的}25 4.6 - 4 1260 3 1960年- 1960年5月- 11月20 - 22日22:01:56.400 -6.8 - -80.7 4{“明确的海啸”}1 6.8{‘地震’}{秘鲁的}{秘鲁的}9 3.2 2.5 66 2 20 - 1964年11月- 1960年3月28 - - 03:36:14.000 61.1 - -147.5 4{“明确的海啸”}3 9.2{地震和山体滑坡的}{‘美国’}{‘威廉王子湾,正义与发展党’}67 6.1 221 3 28 - mar - 1964 16 - 1964年6月——04:01:44.300 38.65 - 139.2 4{“明确的海啸”}1 7.5{‘地震’}{‘日本’}{西北。本州岛”}5.8 - 2.7 2 26 1 16 - 1968年6月- 1964年8月14 - - 22:14:19.400 0.2 - 119.8 4{“明确的海啸”}1 7.8{‘地震’}{“印度尼西亚”}{“班达海”}200 3 14 - 3.3 - 3 1969年8月- 1968年2月23 - - 00:36:56.600 -3.1 - 118.9 4{“明确的海啸”}1 6.9{‘地震’}{“印度尼西亚”}{“望加锡海峡”}4 2 2 600 3 1969年- 2月23日

版本历史

介绍了R2016a