主要内容

SpreadsheetDatastore.

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

描述

用一个SpreadsheetDatastore.对象来管理大型电子表格文件集合,这些集合不一定适合于内存。您可以创建SpreadsheetDatastore.对象使用SpreadsheetDatastore.函数,指定其属性,然后使用对象函数导入数据。

创建

描述

例子

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

SSDS.= SpepsheetDataStore(地点名称,值指定其他参数和属性为了SSDS.使用一个或多个名称值对参数。例如,spreadsheetDatastore(位置、“FileExtensions”{“.xlsx”、“xls”})根据文件扩展名指定要在数据存储中包含哪些文件。

输入参数

展开全部

数据存储中包含的文件或文件夹,指定为路径或aDsFileSet对象。

  • path—将路径指定为字符向量、字符向量单元格数组、字符串标量或字符串数组,其中包含本地或远程文件或文件夹的位置。

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

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

  • DsFileSetobject—你也可以指定地点作为一个DsFileSet对象。有关更多信息,请参见matlab.io.datastore.dsfileset.

地点表示一个文件夹,数据存储区仅包括支持的文件格式并忽略任何其他格式。金宝app要在数据存储区中指定要包含的文件扩展名的自定义列表,请参阅过滤义财产。

SpreadsheetDatastore.函数支持这些扩展:金宝appxls.xlsx..xlsm.xltx.,.xltm.

例子:'file1.xlsx'

例子:'../dir/data/file1.xlsx'

例子:{“C: \ dir \ data \ file1.xlsx”,“C: \ dir \ data \ file2.xlsx”}

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

名称-值对的观点

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

例子:SSD = SpepsheetDataStore('c:\ dir \ separsheetdata','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确定由此返回的数据类型预览,读物功能。将此选项与“RowTimes”名称 - 值对以返回时间段SpreadsheetDatastore.

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

数据类型:字符|细绳

备用文件系统根路径,指定为逗号分隔的对'alternedfilesystemroots'和字符串矢量或单元格数组。用'alternedfilesystemroots'当您在本地机器上创建数据存储,但需要访问和处理另一台机器(可能是不同的操作系统)上的数据时。此外,当使用Parallel Computing Toolbox™和马铃薯®并行服务器™,数据存储在本地计算机上,使用不同平台云或群集计算机上可用的数据副本,您必须使用'alternedfilesystemroots'要关联根路径。

  • 要关联一组等同于彼此的根路径,请指定'alternedfilesystemroots'作为串矢量。例如,

    [“z:\ datasets”,“/ mynetwork / datasets”]

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

    • 指定'alternedfilesystemroots'作为字符串向量的单元格数组。

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

    • 或者,指定'alternedfilesystemroots'作为字符向量的单元数组的单元数组。

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

的价值'alternedfilesystemroots'必须满足这些条件:

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

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

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

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

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

例子:[“z:\ datasets”,“/ mynetwork / datasets”]

数据类型:细绳|细胞

文本变量的输出数据类型,指定为逗号分隔对,由'texttype'和任何一种'char''细绳'

  • 如果输出表来自读物,或预览函数包含文本变量'texttype'指定这些变量的数据类型。

  • 如果'texttype''char',则输出字符向量的单元格数组。

  • 如果'texttype''细绳',则输出具有类型细绳

数据类型:字符|细绳

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

特性

展开全部

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

ds = spreadsheetDatastore (“airlinesmall_subset.xlsx”);ds.sheets = [1 2];ds.range =.“A1: C6”;

文件属性

包含在数据存储中的文件,解析为字符向量或字符串数组的单元格数组,其中每个字符向量或字符串都是文件的完整路径。这地点论点的SpreadsheetDatastore.数据存储函数定义这些文件。

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

例子:{'c:\ dir \ data \ file1.xls';'c:\ dir \ data \ file2.xls'}

数据类型:细胞|细绳

读取时在每个工作表的开头要跳过的行数,指定为正整数。当你还指定范围财产,NumHeaderLines在指定数据块的开始处要跳过的行数。

数据类型:双倍的

文件中的表格,指定为字符向量,字符向量,字符串标量或包含工作表名称的字符串数组的单元数组,或作为表索引的数字向量。空字符矢量''指示包含文件中的所有工作表。

例子:{“sheet1”、“sheet7”}

例子:[3 5 7]

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

行和列边界,指定为定义工作表中的矩形数据块的字符向量或字符串标量。空字符矢量''指示边界是文件的开始和数据的结束。

例子:“B1: T7”

例子:'A:C'

数据类型:字符|细绳

将数据存储中第一个文件的第一行作为变量名读取的指示符,指定为任意一种真正的1)或错误的0.).

  • 如果真正的,然后第一个文件的第一个非标题行确定数据的变量名。

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

数据类型:逻辑|双倍的

标志以保留变量名,指定为逗号分隔对,由VariableNamingRule和任何一种'调整''保存'

  • '调整'-转换无效的变量名(由isvarname功能)到有效的MATLAB标识符。

  • '保存'-保留不是有效的MATLAB标识符的变量名,例如包含空格和非ascii字符的变量名。

从R2019b开始,变量名和行名可以包含任何字符,包括空格和非ascii字符。此外,它们可以以任何字符开头,而不仅仅是字母。变量和行名不一定是有效的MATLAB标识符(由isvarname功能)。要保留这些变量名和行名,可以设置VariableNamingRule'保存'

数据类型:字符|细绳

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

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

如果ReadVariableNames错误的, 然后variablenames.默认为{'var1','var2',...}

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

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

变量类型,指定为“双”'char''细绳''分类',或'约会时间',它在读取数据时表示每个变量的类型。

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

例子:{'char','patporical'}

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

属性预览读物桌子

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

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

例子:{'var3','var7','var4'}

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

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

例子:{'double','datetime'}

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

的调用中要读取的数据量函数,指定为“文件”'床单',或作为正整数标量。

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

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

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

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

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

行时间变量的名称,指定为逗号分隔的对,由“RowTimes”和一个变量名称(例如“日期”)或可变索引(例如3.).

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

如果'OutputType'“时间表”,但你没有指定“RowTimes”, 然后SpreadsheetDatastore.使用第一个datetime期间变量作为时间表的行时间。

属性的使用reliteall.

此属性是只读的。

用于构造数据存储的文件夹,作为字符向量的单元格数组返回。电池阵列定向为列向量。每个字符向量是包含数据文件的文件夹的路径。这地点论点的SpreadsheetDatastore.数据存储函数定义文件夹创建数据存储时。

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

数据类型:细胞

此属性是只读的。

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

数据类型:细绳

此属性是只读的。

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

数据类型:细绳

对象功能

哈迪塔 确定数据是否可用读取
numpartitions 数据存储区分区数量
分区 分区数据存储
预览 在数据存储区中预览数据子集
读取数据存储中的数据
读物 读取数据存储中的所有数据
reliteall. 将数据存储写入文件
重启 将数据存储重置为初始状态
张贴名录 从数据存储查询表名称
变换 转换数据存储
结合 将数据与多个数据存储组合
isPartitionable 确定数据存储是否可分区
isShuffleable 确定数据存储是否会破坏

例子

全部折叠

SSD = SpepsheetDataStore(“airlinesmall_subset.xlsx”
ssds = SpreadsheetDatastore with properties: Files:{'…\Documents\MATLAB\Examples\ MATLAB -ex26030327\airlinesmall_sub .xlsx'} Folders:{'…\OneDrive - MathWorks\Documents\MATLAB\Examples\ MATLAB -ex26030327'} 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"

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

SSD = SpepsheetDataStore(“airlinesmall_subset.xlsx”
ssd与属性= SpreadsheetDatastore:文件 : { ' .../ Bdoc21a_1606923_138131 / tp24405c6c ex29672123 / airlinesmall_subset.xlsx '}文件夹:{“/ tmp / Bdoc21a_1606923_138131 / tp24405c6c / ex29672123”}AlternateFileSystemRoots:{}表:“范围:”表的格式属性:NumHeaderLines: 0 VariableNamingRule:“修改”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”“1999”“1999”“2001”“2001”“2003”“2004”“2005”“2006”“2007”“2007”“2007”“2008”“2008”

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

ssd。表= 2;ssd。SelectedVariableNames ='flidentnum';预览(SSD)
ANS = 8x1表FlightNum _________ 1014 1201 702 1184 1310 1759 1242 1558

只读变量的前三行Deptime.ArrTime在第一张纸中。

ssds.readsize = 3;ssds.sheets = 1;ssds.selectedvariablenames = {'deptime'“ArrTime”};阅读(ssd)
ans = 3x2表Deptime Arration _______ _______ 2117 2305 1252 1511 1441 1708

阅读所有床单四,五,六个。

ssds.sheets = 4:6;readall(SSD);

使用OutputTyperowtimes.要创建的名称-值对SpreadsheetDatastore.返回时间表而不是表格。

创建数据存储tsunamis_dated.xlsx..指定'OutputType'作为“时间表”SpreadsheetDatastore.返回时间表而不是表。

SSD = SpepsheetDataStore('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或duration变量作为行时间。在这种情况下日期变量用于行时间。此数据有两个DateTime变量:日期时间.这日期变量不包括小时、分钟或秒的信息,而时间变量具有每个事件的具体时间。

指定“RowTimes”使用事件时间的选项(时间变量)作为行时间。

SSD = SpepsheetDataStore('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介绍