主要内容

spreadsheetDatastore

用于电子表格文件的数据存储

描述

用一个spreadsheetDatastore对象管理集合不一定适合内存的大量电子表格文件集合。你可以创建一个spreadsheetDatastore对象使用spreadsheetDatastore函数,指定其属性,然后使用对象函数导入数据。

创建

描述

例子

SSDS.= SpepsheetDataStore(地点从指定的数据集中创建电子表格数据存储地点

SSDS.= SpepsheetDataStore(地点名称,值指定附加参数和特性SSDS.使用一个或多个名称值参数。例如,SpepsheetDataStore(位置,“FileExtensions”,[“.XLSX”,“。XLS”))根据文件扩展名指定要在数据存储中包含哪些文件。

输入参数

展开全部

包含在数据存储中的文件或文件夹,指定为a文件集对象,作为文件路径,或作为DsFileSet对象。

  • 文件集object—可以指定地点作为一个文件集对象。将位置指定为a文件集与指定路径或指定路径相比,对象导致数据存储的施工时间更快。DsFileSet对象。有关更多信息,请参阅matlab.io.datastore.FileSet

  • 文件路径 - 您可以指定单个文件路径作为字符向量或字符串标量。您可以将多个文件路径指定为字符向量或字符串数​​组的单元格数组。

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

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

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

  • 远程文件或文件夹——指定远程文件或文件夹的完整路径,作为表单的统一资源定位符(URL)hdfs: / / /path_to_file.有关更多信息,请参阅使用远程数据

指定文件夹时,数据存储区仅包含具有支持的文件格式的文件,并忽略具有任何其他格式的文件。金宝app要在数据存储区中指定要包含的文件扩展名的自定义列表,请参阅FileExtensions财产。

spreadsheetDatastore函数支持具有扩展的金宝app文件: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,…,的家

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

电子表格文件扩展名,指定为由“FileExtensions”和字符矢量,字符向量,字符串标量或字符串数​​组的字符矢量。

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

  • 如果您想包含带有非标准文件扩展名的电子表格SpreadsheetDatastore,然后明确指定这些扩展。

  • 如果你想创建一个SpreadsheetDatastore对于没有任何扩展名的文件,则指定“FileExtensions”作为一个空字符向量,

例子:“Fileextensions”,''

例子:“XLS”,“XLS”。

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

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

子文件夹包含标志,指定为名称-值参数组成“upplyubfolders”真的,0或1.指定真的将所有文件和子文件夹包含在每个文件夹或仅包含每个文件夹中的文件。

如果没有指定“upplyubfolders”,则默认值为

例子:“upporationubfolders”,真实

数据类型:逻辑|双倍的

输出数据类型,指定为名称-值参数“OutputType”其中一个价值观是:

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

  • “桌子”- 返回A.表格

  • “时间表”- 返回A.时间表

的价值OutputType属性返回的数据类型预览,readall功能。将此选项与“RowTimes”名称 - 值对以返回时间段spreadsheetDatastore

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

数据类型:字符|细绳

备用文件系统根路径,指定为包含的名称值参数“lexeryfilesystemroots”字符串向量或单元格数组。使用“lexeryfilesystemroots”当您在本地机器上创建数据存储,但需要访问和处理另一台机器(可能是不同的操作系统)上的数据时。此外,当使用Parallel Computing Toolbox™和马铃薯®并行服务器™,并且数据存储在本地机器上,在不同的平台云或集群机器上可以使用数据的副本“lexeryfilesystemroots”要关联根路径。

  • 若要将一组相互等效的根路径关联起来,请指定“lexeryfilesystemroots”作为一个字符串向量。例如,

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

  • 若要关联与该数据存储相同的多组根路径,请指定“lexeryfilesystemroots”作为包含多行的单元格数组,其中每一行表示一组等价的根路径。将单元格数组中的每一行指定为字符串向量或字符向量的单元格数组。例如:

    • 指定“lexeryfilesystemroots”作为字符串向量的单元格数组。

      {[“z:\ datasets”,“/ mynetwork / datasets”]; ... [y:\ datasets“,”/ mynetwork2 / datasets“,”s:\ datasets“]}

    • 另外,指定“lexeryfilesystemroots”作为字符向量的单元阵列的单元阵列。

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

的价值“lexeryfilesystemroots”必须满足这些条件:

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

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

  • 根路径是唯一的,并且不是彼此的子文件夹。

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

有关更多信息,请参阅设置数据存储,以便在不同的机器或集群上进行处理

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

数据类型:细绳|细胞

文本变量的输出数据类型,指定为名称-值参数组成“texttype”和任何一种“char”或者“字符串”

  • 如果输出表来自readall, 或者预览函数包含文本变量,然后“texttype”指定这些变量的数据类型。

  • 如果“texttype”“char”,然后输出是字符向量的小区阵列。

  • 如果“texttype”“字符串”,则输出具有类型细绳

数据类型:字符|细绳

除了这些名称-值对之外,还可以将该页面上的任何属性指定为名称-值对(除了文件属性)。

特性

展开全部

SpreadsheetDatastore属性描述数据存储对象中文件的格式,并控制如何从数据存储中读取数据。除了文件属性,您可以指定值SpreadsheetDatastore使用名称值对参数创建数据存储对象时属性。要在创建对象后查看或修改属性,请使用dot表示法:

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).

  • 如果真的,然后第一文件的第一个非主机行确定数据的变量名称。

  • 如果,然后第一个文件的第一个非主机行包含第一行数据。默认变量名称被分配为var1var2, 等等。

数据类型:逻辑|双倍的

标志以保留变量名,指定为“修改”或者“保存”

  • “修改”-转换无效的变量名(由isvarname功能)到有效的MATLAB标识符。

  • “保存”- 保留不具有有效MATLAB标识符的变量名称,例如包含空格和非ASCII字符的变量名称。

从R2019b开始,变量名和行名可以包含任何字符,包括空格和非ascii字符。此外,它们可以以任何字符开头,而不仅仅是字母。变量和行名不一定是有效的MATLAB标识符(由isvarname功能)。要保留这些变量名称和行名称,请设置值variablenamingrule.“保存”.当值时,不会刷新变量名称variablenamingrule.改变从“修改”“保存”

数据类型:字符|细绳

数据存储区中的变量名称,指定为字符向量,字符向量,字符串标量或字符串数​​组的单元格数组。按顺序指定变量名称。如果未指定变量名称,则数据存储区将从第一个文件中的第一个非主线行检测到它们。您可以指定VariableNames然而,具有字符向量或字符串标量,但数据存储区将属性值转换为字符向量的单元格数组。修改了VariableNames属性时,新变量名的数量必须与原始变量名的数量匹配。

要支持金宝app无效的MATLAB标识符作为变量名称,例如包含空格和非ASCII字符的变量名称,请设置值variablenamingrule.参数到“保存”

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

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

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

变量类型,指定为“双倍的”“char”“字符串”“分类”, 或者“约会时间”,它在读取数据时表示每个变量的类型。

变量类型列表对应于变量VariableNames.类型双倍的字符,datetime可以从数据自动检测到。您可以指定VariableTypes但是作为字符向量或字符串标量spreadsheetDatastore自动将其转换为字符向量单元格数组或字符串数组。

例子:[“char”,“talicorical”]

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

属性预览readall桌子

要从文件中读取的变量,指定为字符向量、字符向量的单元格数组、字符串标量或字符串数组。每个字符向量或字符串包含一个变量的名称。您可以以任何顺序指定变量名。您可以指定SelectedVariableNames然而,有一个字符矢量或标量标量spreadsheetDatastore自动将其转换为字符向量单元格数组或字符串数组。

若要支金宝app持无效的MATLAB标识符作为变量名,如变量名包含空格和非ascii字符,请设置variablenamingrule.参数到“保存”

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

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

选定的变量类型,指定为“双倍的”“char”“字符串”“分类”, 或者“约会时间”,表示读取数据时每个选定变量的类型。变量类型列表对应于变量SelectedVariableNames.类型双倍的字符,datetime可以从数据自动检测到。您可以指定selectedvariabletypes.然而,作为字符向量或字符串标量,它会自动转换为字符向量或字符串数组的单元格数组。

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

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

呼叫中读取的数据量函数,指定为“文件”或者“床单”,或作为正整数标量。

  • 如果阅读“文件”,然后每次打电话一次读取所有数据一个文件。

  • 如果阅读“床单”,然后每次打电话一次读取所有数据。

  • 如果阅读是正整数,那么每次调用读取由此指定的行阅读或者如果它达到数据的末尾,则更少。

当你改变阅读从整数标量到“文件”或者“床单”,或相反地,数据存储将使用重启函数。

数据类型:字符|细绳|双倍的

行乘以变量的名称,指定为由“RowTimes”和一个变量名称(例如“日期”)或可变指数(例如3.).

RowTimes是与时间表相关的参数。时间表的每一行与时间相关联,该时间被捕获在时间向量的时间向量中。指定的变量RowTimes必须包含一个datetime或者一个持续时间向量。

如果是值“OutputType”“时间表”,但您没有指定“RowTimes”,然后spreadsheetDatastore使用第一个datetime或者持续时间变量作为时间表的行时间。

使用的属性writeall

此属性是只读的。

用于构造数据存储的文件夹,返回为字符向量的单元格数组。单元格数组被定向为列向量。每个字符向量都是指向包含数据文件的文件夹的路径。的地点争论在spreadsheetDatastore数据存储函数定义文件夹创建数据存储时。

文件夹属性在修改时将重置文件财产的SpreadsheetDatastore对象。

数据类型:细胞

此属性是只读的。

支持写入的格式列表,作为字符串的金宝app行向量返回。此属性指定使用时可能的输出格式writeall从数据存储区写入输出文件。

数据类型:细绳

此属性是只读的。

默认输出格式,作为字符串标量返回。此属性指定使用时的默认格式writeall从数据存储区写入输出文件。

数据类型:细绳

对象的功能

hasdata 确定是否可以读取数据
numpartitions 数据存储区分区数量
划分 分区数据存储
预览 预览数据存储中的数据子集
读取数据存储中的数据
readall 阅读数据存储中的所有数据
writeall 将数据存储写入文件
重启 将数据存储重置为初始状态
张贴名录 从数据存储查询表名称
转变 变换数据存储
结合 合并来自多个数据存储的数据
是可分派的 确定数据存储是否可分区
isShuffleable 确定数据存储是否可洗牌

例子

全部折叠

使用文件集对象或文件路径创建SepleSheetDataStore对象。

创建文件集对象。创建SepleSheetDataStore对象。

fs = matlab.io.datastore.FileSet (“airlinesmall_subset.xlsx”);SSD = SpepsheetDataStore(FS)
ssds = SpreadsheetDatastore with properties: Files:{'…\Documents\MATLAB\Examples\airlinesmall_subset.xlsx'} Folders:{'…\Documents\MATLAB\Examples'} alteratefilesystemroots: {} Sheets: " Range: " Sheet Format Properties: NumHeaderLines: 0 variablenamgrule: 'modify' ReadVariableNames: true VariableNames: {'Year', 'Month', 'DayofMonth'…{'double', 'double', 'double'…控制由preview, read, readall返回的表的属性:SelectedVariableNames: {'Year', 'Month', 'DayofMonth'…} SelectedVariableTypes: {'double', 'double', 'double'…ReadSize: 'file' OutputType: 'table' RowTimes: [] Write-specific Properties: SupportedOutp金宝apputFormats: ["txt" "csv" "xlsx" "xls" "parquet" "parq"] DefaultOutputFormat: "xlsx"

或者,您可以使用文件路径指定数据。

ssd = spreadsheetDatastore (“airlinesmall_subset.xlsx”);

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

ssd = spreadsheetDatastore (“airlinesmall_subset.xlsx”
ssds = SpreadsheetDatastore with properties: Files:{'…\Documents\MATLAB\Examples\airlinesmall_subset.xlsx'} Folders:{'…\Documents\MATLAB\Examples'} alteratefilesystemroots: {} Sheets: " Range: " Sheet Format Properties: NumHeaderLines: 0 variablenamgrule: 'modify' ReadVariableNames: true VariableNames: {'Year', 'Month', 'DayofMonth'…{'double', 'double', 'double'…控制由preview, read, readall返回的表的属性:SelectedVariableNames: {'Year', 'Month', 'DayofMonth'…} SelectedVariableTypes: {'double', 'double', 'double'…ReadSize: 'file' OutputType: 'table' RowTimes: [] Write-specific Properties: SupportedOutp金宝apputFormats: ["txt" "csv" "xlsx" "xls" "parquet" "parq"] DefaultOutputFormat: "xlsx"

显示文件的工作表名称。这个档案每年有一页。

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

指定变量FlightNum在第二片作为感兴趣的数据中,并预览前八行。

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

只读变量的前三行DepTimeArrTime在第一张纸中。

ssd。ReadSize = 3;ssd。表= 1;ssd。SelectedVariableNames = [“Deptime”“ArrTime”];阅读(SSD)
ans =.3×2表Deptime Arrtifie _____________________________________1708

把第四,第五,第六页都读一遍。

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。4{'明确的海啸'}3{'地震和滑坡'}3{'美国'}'SE阿拉斯加,AK} 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{'确定海啸'}1{'地震'}7.5{'日本'}{'美国'}{'威廉王子海湾,AK'} 67 6.1 221 3 28-Mar-1964 03:36:14 000 16- june -1964 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。4{'明确的海啸'}3{'地震和滑坡'}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{'明确的海啸'}1{'地震'}7.5{'日本'}{'日本'}'西北'}67 6.1 221 3 1964年3月28日-1964年6月16日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