主要内容

高数组写入本地和远程检查点的位置

描述

例子

写(位置,助教)计算数组中的值高助教并将数组写入文件中指定的文件夹位置。数据存储在一个有效的二进制格式适合阅读使用数据存储(位置)

例子

写(filepattern,助教)使用的文件扩展名filepattern确定输出格式。filepattern必须包括一个文件夹将文件写入,紧随其后的是一个文件名,包括一个通配符*。通配符代表增量数据生成独特的文件名。例如,写(文件夹/ myfile_ * . csv, tA)

例子

写(___,名称,值)与一个或多个名称-值对参数指定附加选项使用任何以前的语法。例如,您可以指定的文件类型“文件类型”和一个有效的文件类型(“垫”,“>”,“铺”,“文本”,或“表格”),或者您可以指定一个自定义编写函数来处理数据“WriteFcn”和一个函数处理。

例子

全部折叠

写一个高大数组到磁盘,然后恢复高数组通过创建一个新的数据存储的书面文件。这个过程有助于保存您的工作或与同事分享一系列高。

创建一个数据存储airlinesmall.csv数据集。只选择一年,,UniqueCarrier变量,和治疗“NA”价值观缺失的数据。将数据存储到一个高的表。

ds =数据存储(“airlinesmall.csv”);ds。TreatAsMissing =“NA”;ds。SelectedVariableNames = {“月”,“年”,“UniqueCarrier”};tt =高(ds)
tt = M×3高表月UniqueCarrier _____ _____ _________________ 10 1987年“PS”1987“PS”1987“PS”1987“PS”1987“PS”1987“PS”1987“PS”1987“PS”::::::

在降序排序的数据,提取前25行。结果高表是未鉴定的。

tt_new = topkrows (tt, 25岁,“年”)
tt_new = M×3高表UniqueCarrier _____年____月_________________ ?吗?吗?吗?吗?吗?吗?吗?吗?::::::预览延期。 Learn more.

将结果保存到一个新文件夹命名ExampleDataC: \磁盘。(您可以指定一个不同的位置写,特别是如果你不使用Windows®计算机)。的函数评估高数组之前写的文件,所以不需要使用收集函数之前保存的数据。

位置=“C: \ ExampleData”;写(位置,tt_new)
高数据写入文件夹C: \ ExampleData评估高表达式使用本地MATLAB会话:-通过1对1:在0.52秒完成评估在1.2秒完成

清晰的ttds从你的工作目录。恢复高表写入磁盘,首先创建一个新的数据存储引用相同的目录中。然后将数据存储到一个高的表。自高表评估被写到磁盘之前,显示现在包括一个预览的价值观。

清晰的ttdsds2 =数据存储(位置);tt2 =高(ds2)
tt2 = M×3高表UniqueCarrier _____年____月_________________ 1 2008“WN”2008“WN”2008“WN”2008“WN”2008“WN”2008“WN”2008“WN”2008“WN”::::::

创建一个高表引用tsunamis.xlsx数据文件,其中包含带时间戳数据的位置,大小,海啸的原因。

ds = spreadsheetDatastore (“tsunamis.xlsx”);T =高(ds)
T = Mx20高表经度纬度年月日小时分钟第二ValidityCode有效性CauseCode引起EarthquakeMagnitude国家位置MaxHeight IidaMagnitude强度NumDeaths DescDeaths ________ _____ _____ ___上交_______ _________________________ _____ _____________ ___________________ ___________________ __________________________ _____ _________________替__________ -3.8 - 128.3 1950 10 8 3 23南2{“可疑的海啸”}1 7.6{‘地震’}{“印度尼西亚”}{“印度尼西亚爪哇海沟”}-156 1951 19.5 2.8 1.5 1.5南南8 21 10 57南4{“明确的海啸”}1 6.9{‘地震’}{‘美国’}{“夏威夷”}1951年-9.02 - 157.95 3.6 - 1.8南南南12 22南南南2 6{“可疑的海啸”}{“火山”}南{所罗门群岛的}{‘KAVACHI} 6 2.6南南南42.15 - 143.85 1952 3 4 1 22 41 4{“明确的海啸”}1 8.1{‘地震’}{‘日本’}{SE。北海道岛}6.5 19.1 2.7 - 2 33 -155 1952 3 17 58南4{“明确的海啸”}1 4.5{‘地震’}{‘美国’}{“夏威夷”}1南南南南43.1 - -82.4 1952 5 6南南南1{“非常怀疑海啸”}9{“气象”}南{‘美国’}{休伦湖,MI的}1.52南南南南52.75 - 159.5 1952 11 4 16 58南4{“明确的海啸”}1{‘地震’}9{“俄罗斯”}{堪察加半岛的}18 4.2 - 4 2236 3 1953 156.5 3 18南南南3{“可能的海啸”}1 5.8{‘地震’}{“俄罗斯”}{' N。千岛群岛的}1.5 - 0.6南南南::::::::::::::::::::::::::::::::::::::::

结合一年,,一天,小时,一分钟,第二个变量为一个datetime变量,然后从表中删除这些变量。删除任何行包含缺失的数据。

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

写表作为一个电子表格文件在Amazon S3®远程存储。读或写数据到Amazon S3必须设置AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY环境变量使用您的帐户的凭证。有关更多信息,请参见使用远程数据

setenv (“AWS_ACCESS_KEY_ID”,“YOUR_AWS_ACCESS_KEY_ID”);setenv (“AWS_SECRET_ACCESS_KEY”,“YOUR_AWS_SECRET_ACCESS_KEY”);位置=“s3: / / bucketname / preprocessedData /”;写(位置、TT“文件类型”,“表格”)

读取数据,使用数据存储指向远程数据所在位置。

ds =数据存储(位置);tt =高(ds);

创建和使用一个自定义编写函数来写入数据的额外不直接支持的格式金宝app,如图像文件。

创建一个图像数据存储引用的所有示例图像工具箱/ matlab /演示文件夹中。所选图像扩展jpg,.tif,. png。将数据存储到一个高的单元阵列。

demoFolder = fullfile (matlabroot,“工具箱”,matlab的,“演示”);ds = imageDatastore (demoFolder,“FileExtensions”,{“jpg”“.tif”“使用”});T =高(ds);

带的一个图像到内存中并显示它。

我=聚集(T (1));
评估高表达式使用当地的MATLAB会话:通过1 1:在3秒完成评估在3.2秒完成
imshow(我{1},“InitialMagnification”,30)

不直接支持的图像文金宝app件,所以写的图像在不同的格式,您必须创建一个新的函数来处理文件编写。写函数接收两个输入写:

  • 信息是一个包含字段的结构与当前的数据块信息。您可以使用这些字段来构建自己独特的文件名,或简单地使用SuggestedFilename建议的领域使用一个名称

  • 数据当前的数据块,获得通过使用吗在数据存储上。

这个函数图像打印机使用建议的文件名,并使用imwrite编写图像文件到磁盘jpg文件。这个函数保存在当前工作目录。

类型图像打印机
函数图像打印机(信息、数据)文件名= info.SuggestedFilename;imwrite(数据{:},文件名)

写的图像数据存储到一个新文件夹命名exampleImagesC: \磁盘。(您可以使用一个不同的位置,特别是如果你不使用Windows®计算机。)通过图像打印机自定义编写函数使用“WriteFcn”名称-值对的论点。

位置=“C: \ exampleImages \ * . jpg image_”;写(位置、T“WriteFcn”@imageWriter)
高数据写入文件夹C: \ exampleImages评估高表达式使用本地MATLAB会话:-通过1对1:在0.71秒完成评估在0.98秒完成

显示文件夹的内容写的文件。

dirC: \ exampleImages
。image_1_000001.jpg image_3_000001.jpg image_5_000001.jpg . .image_2_000001.jpg image_4_000001.jpg image_6_000001.jpg

读取图像回MATLAB®,创建一个数据存储,引用相同的位置。

ds = imageDatastore(位置);T =高(ds)
T = 6×1高细胞数组{1024×2048×3 uint8} {650×600×3 uint8} {1024×2048×3 uint8} {650×600×3 uint8} {480×640×3 uint8} {480×640×3 uint8}

输入参数

全部折叠

文件夹位置写数据,指定为一个字符或字符串向量。位置可以指定一个完整或相对路径。这些选项指定的文件夹可以是:

  • 现有的空文件夹

  • 新文件夹创建

你可以写数据到本地文件夹在您的计算机上,文件夹在一个共享的网络,在HDFS™或偏远地区,Azure®或Amazon S3™。关于阅读和写作的更多信息数据到远程位置,明白了使用远程数据

申请Hadoop的其他注意事项®和Apache火花™:

  • 如果不是本地可用的文件夹,文件夹的完整路径必须是一个统一资源定位符(URL)的形式:
    hdfs: / / /path_to_file

  • 在写作HDFS之前,设置HADOOP_HOME,HADOOP_PREFIX,或MATLAB_HADOOP_INSTALL环境变量到Hadoop安装的文件夹中。

  • 之前写信给Apache火花,设置SPARK_HOME环境变量的文件夹Apache安装火花。

例子:位置= ' hdfs: / / /一些/输出/文件夹”指定一个HDFS URL。

例子:位置=“. . / . . / dir /数据”指定一个相对文件路径。

例子:位置= ' C: \ \用户桌面的名字\ \数据”指定一个绝对路径窗口®桌面文件夹。

例子:位置= '文件:/ / /道路/ /数据的指定一个绝对URI路径文件夹。

数据类型:字符|字符串

输入数组,数组指定为一个高大。

文件命名模式,指定为一个字符串或一个字符向量。文件命名模式必须包含一个文件夹将文件写入,紧随其后的是一个文件名,包括一个通配符*。的函数与连续数字替换通配符,确保独特的文件名。

例子:写(“文件夹/ data_ * . txt”, tA)写高数组助教作为一个系列的. txt文件文件夹的文件名data_1.txt,data_2.txt,等等。

数据类型:字符|字符串

名称-值参数

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

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

例子:写(tX“C: \ myData”,“文件类型”,“文本”,“WriteVariableNames”,假)写高数组tXC: \ myData作为一个文本文件的集合,不使用变量名作为列标题。

一般选择

全部折叠

类型的文件,指定为逗号分隔组成的“文件类型”其中一个允许文件类型:“汽车”,“垫”,“铺”,“>”,“文本”,或“表格”

使用“文件类型”名称-值对的位置写参数来指定什么类型的文件。默认情况下,尝试自动检测正确的文件类型。你不需要指定“文件类型”名称-值对论点如果可以确定文件类型的扩展位置filepattern参数。从这些扩展可以确定文件类型:

  • .mat对MATLAB®数据文件

  • .parquet.parq镶木地板文件

  • .seq序列文件

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

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

例子:写(tX“C: \ myData”,“文件类型”,“文本”)

自定义编写函数,指定为逗号分隔组成的“WriteFcn”和一个函数处理。指定的函数接收的数据块助教并负责创建输出文件。您可以使用“WriteFcn”名称-值对论点写各种格式的数据,即使不直接支持的输出格式。金宝app

函数签名

自定义编写函数必须接受两个输入参数,信息数据:

函数myWriter(信息,数据)

  • 数据包含一个数据块助教

  • 信息是一个结构,包含的数据块信息字段。您可以使用领域建立一个新文件名称是全球独一无二的最终位置。结构字段

    描述
    RequiredLocation 完全限定路径暂时输出文件夹。只有文件写入此文件夹复制到最终目的地。
    RequiredFilePattern 所需的文件模式输出文件的名字。这个字段是空的,如果只指定一个文件夹的名字。
    SuggestedFilename 完全限定,全局唯一满足的位置和文件名的命名要求。
    PartitionIndex 高数组的索引分区写入。
    NumPartitions 的分区总数高的数组。
    BlockIndexInPartition 当前分区内的数据块的位置。
    IsFinalBlock 真正的如果当前块的最后一块分区。

文件命名

用于输出文件的文件名决定的顺序数据存储后来在读取文件。如果文件的顺序问题,最佳实践是使用SuggestedFilename字段名称的文件,因为建议名字担保文件的顺序。如果不使用建议的文件名,然后自定义编写函数必须创建全球独一无二的,正确的命令文件的名称。文件名应该遵循中概述的命名模式RequiredFilePattern。当运行在并行计算工具箱™的同时,文件名称必须是唯一的和工人之间正确的命令,尽管每个工人写入自己的本地文件夹。

数组与多个分区

你可以把一系列高分为分区来帮助运行计算与并行计算工具箱并行数组。每个分区仍由小块分别放入内存。

信息包含几个字段相关的分区:PartitionIndex,NumPartitions,BlockIndexInPartition,IsFinalBlock。这些字段是有用的,当你写出一个文件附加到它,这是一个常见的任务与大型阵列的分区已经被分成许多块。自定义每个块写函数被调用一次,和一个分区块总是写在订单同样的工人。然而,不同的分区可以由不同的工人。

例子函数

写一个简单的函数,写表格文件

函数dataWriter(信息、数据)文件名= info.SuggestedFilename;writetable(数据、文件名“文件类型”,“表格”)结束
调用dataWriter编写函数的一些数据tt,使用这些命令。
tt =高(array2table (rand (5000 3)));位置=“/ tmp / MyData / tt_ * .xlsx”;写(位置、tt“WriteFcn”,@dataWriter);
对于每个块,dataWriter函数使用的建议文件名称信息结构和调用writetable写一个电子表格文件。建议文件名字考虑了文件中指定的命名模式位置论点。

数据类型:function_handle

文本或电子表格文件

全部折叠

指标编写变量名作为列标题,指定为逗号分隔组成的“WriteVariableNames”和一个数字或逻辑1(真正的)或0()。

指示器

行为

真正的

变量名作为输出的列标题。(默认)

变量名不包含在输出中。

现场写日期,指定为逗号分隔组成的“DateLocale”和一个特征向量或一个字符串标量。当你写datetime值到文件,使用DateLocale指定的场所应该写月,一周中的第几天名称和缩写。特征向量或字符串形式xx_YY,在那里xx是小写的ISO 639 - 1两个字母的代码表示一种语言,然后呢YY是一个大写的ISO 3166 - 1α2代码表示一个国家。语言环境的共同价值观,看到语言环境名称-值对的理由datetime函数。

为Excel®文件,写变量包含datetime数组作为Excel日期和忽略了“DateLocale”参数值。如果datetime变量包含之前1900年或1904年,写的变量为文本。Excel日期的更多信息,请参阅差异在Excel 1900和1904号系统

例子:“DateLocale”、“ja_JP”“DateLocale”、“ja_JP”

数据类型:字符|字符串

文本文件只

全部折叠

字段分隔符字符,指定为逗号分隔组成的“分隔符”和其中一个说明符。

说明符

字段分隔符

”、“

“逗号”

逗号(默认)

' '

“空间”

空间

' \ t '

“标签”

选项卡

“;”

“半”

分号

“|”

“酒吧”

竖线

您可以使用“分隔符”名称-值对的观点仅为分隔的文本文件。

例子:“分隔符”、“空间”“分隔符”,“空间”

指标写引用文本,指定为逗号分隔组成的“QuoteStrings”,要么真正的。如果“QuoteStrings”被设置为真正的,然后包含双引号中的文本和取代任何双引号字符作为文本的一部分,两个双引号字符。例如,看到的写引用文本CSV文件

您可以使用“QuoteStrings”名称-值对论点只有分隔的文本文件。

字符编码方案相关文件,指定为逗号分隔组成的“编码”“系统”或一个标准字符编码方案的名字像这个表中的值之一。当你不指定任何编码或指定编码“系统”,函数使用系统默认编码写文件。

“繁体”

“iso - 8859 - 1”

“windows - 874”

“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”

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

电子表格文件只

全部折叠

目标工作表,指定为逗号分隔组成的“表”和一个特征向量或一个字符串标量包含工作表名称或一个正整数表示工作表索引。工作表名称不能包含冒号(:)。确定的名称表电子表格文件,使用表= sheetnames(文件名)。有关更多信息,请参见sheetnames

如果表不存在,那么添加一个新表的最后工作表集合。如果表索引大于工作表的数量,附加的空表到工作表的工作簿的数量等于表索引。在这两种情况下,生成一个警告,表明它已经添加了一个新的工作表。

您可以使用“表”名称-值对论点只有电子表格文件。

例子:“表”,2

例子:“表”,“MySheetName”

数据类型:字符|字符串|||int8|int16|int32|int64|uint8|uint16|uint32|uint64

镶木地板文件只

全部折叠

镶花的压缩算法,指定为其中一个值。

  • “时髦的”,“brotli”,“gzip”,或未压缩的。如果你指定一个压缩算法压缩所有变量使用相同的算法。

  • 此外,您可以指定一个单元阵列特征向量或一个字符串向量包含压缩算法的名称为每个变量使用。

一般来说,“时髦的”阅读和写作,具有更好的性能“gzip”压缩比更高的成本更多的CPU处理时间,然后呢“brotli”通常产生最小的文件大小压缩速度为代价的。

例子:写(tX“C: \ myData”,“文件类型”,“铺”,“VariableCompression”,“brotli”)

例子:写(tX“C: \ myData”,“文件类型”,“铺”,“VariableCompression”, {brotli的“时髦的”的gzip})

编码方案名称,指定这些值之一:

  • “汽车”- - - - - -使用“普通”编码逻辑变量和“字典”所有其他编码。

  • “字典”,“普通”——如果你指定一个编码方案将所有变量编码的方案。

  • 此外,您可以指定一个单元阵列特征向量或一个字符串向量包含编码方案的名称为每个变量使用。

一般来说,“字典”编码结果在较小的文件大小,但是“普通”可以更快的编码不包含许多重复值的变量。如果字典的大小或数量的惟一值太大,然后编码自动恢复到普通编码。镶花的更多信息编码,请参阅剧场正厅座位编码定义

例子:(“myData写。拼花”,T,“文件类型”、“铺”、“VariableEncoding”、“普通”)

例子:(“myData写。拼花”,T,“文件类型”、“拼花”、“VariableEncoding”{“平原”“词典”“平原”})

拼花版使用,指定为“1.0”“2.0”。默认情况下,“2.0”提供最有效的存储,但是你可以选择“1.0”最广泛的兼容性与外部应用程序支持拼花的格式。金宝app

谨慎

拼花1.0版本有一个限制,不能往返的变量类型uint32(他们是读回MATLABint64)。

限制

在某些情况下,写(位置、T“文件类型”,类型)创建文件,不代表原始数组中T完全正确。如果你使用数据存储(位置)阅读文件,那么结果可能没有相同的格式或内容与原始高表。

  1. “文本”“表格”文件类型,使用这些规则:

    • 输出数值变量使用longG格式和分类、字符或字符串变量作为非上市文本。

    • 对于非文本的变量有多个列,输出多个delimiter-separated字段在每一行和列标题结构适合文件的第一行。

    • 输出变量有超过两个维度为二维变量,与落后的维度倒塌。

    • cell-valued变量与数字内容,逻辑,人物,或直言,输出每个单元格的内容作为一个单独的行,在多个delimiter-separated字段。如果细胞有不同的数据类型,输出一个空字段。

    不使用“文本”“表格”文件类型如果您需要编写一个高大的确切检查点数组。

  2. “铺”文件类型,有一些情况下,拼花格式不能完全代表了MATLAB表或时间表数据类型。如果你使用parquetread数据存储阅读文件,那么结果可能没有相同的格式或内容与原始高表。有关更多信息,请参见Apache镶花的数据类型映射

提示

  • 使用函数来创建检查点快照你的数据,你的工作,特别是在处理大数据集。这种做法可以重建高阵列直接从磁盘上的文件,而不是重新执行的所有命令,产生高数组。

扩展功能

高大的数组
计算和数组的行比装入内存。

版本历史

介绍了R2016b