将高数组写入本地和远程位置用于检查点
写(
使用来自的文件扩展名filepattern
,TA
)filepattern
确定输出格式。filepattern
必须包含一个文件夹来将文件写入,然后包含包含通配符的文件名*
. 这个wildcard represents incremental numbers for generating unique file names. For example,写('文件夹/ myfile _ *。csv',ta)
.
将高阵列写入磁盘,然后通过为书面文件创建新数据存储来恢复高阵列。该过程可用于保存您的工作或与同事共享高大的数组。
创建一个数据存储区airlinesmall.csv
数据集。只选择它一年
,月
, 和UniqueCarrier
变量,和治疗'na'
值作为缺失数据。将数据存储转换为高大的表格。
ds =数据存储('airlinesmall.csv');ds.treatasmissing ='na';ds.SelectedVariableNames = {“月”,“年”,“唯一承运人”};tt =高(DS)
tt = M×3 tall table Month Year UniqueCarrier _________ _____________ 10 1987 'PS' 10 1987 'PS' 10 1987 'PS' 10 1987 'PS' 10 1987 'PS' 10 1987 'PS' 10 1987 'PS' 10 1987 'PS' 10 1987 'PS' 10 1987 'PS' 10 1987 'PS' 10 1987 'PS'::::::
按年份按降序对数据进行排序并提取前25行。由此产生的高表未被评估。
tt_new = topkrows(tt,25,“年”)
tt_new=M×3高台月-年UniqueCarrier预览推迟。了解更多。
将结果保存到名为的新文件夹exampledata.
在这一点C:\
磁盘。(您可以指定不同的写入位置,尤其是在不使用Windows®计算机的情况下。)写
函数在编写文件之前评估高阵列,因此无需使用该文件收集
保存数据之前的功能。
位置='c:\ exampledata';写(位置,TT_NEW)
写入高数据到文件夹C:\ ExampleData评估使用本地MATLAB会话高表达: - 通的1 1:在0.52秒评价完成在1.2秒完成
清除TT.
和ds
来自您的工作目录。要恢复写入磁盘的高表,请首先创建引用相同目录的新数据存储。然后将数据存储转换为高表。由于在被写入磁盘之前评估了高表,因此显示现在包括值的预览。
清楚的TT.dsDS2 =数据存储(位置);tt2 =高(DS2)
tt2 = M×3 tall table Month Year UniqueCarrier _________ _____________ 1 2008 'WN' 1 2008 'WN' 1 2008 'WN' 1 2008 'WN' 1 2008 'WN' 1 2008 'WN' 1 2008 'WN'::::::
创建一个高大的表格引用Tsunamis.xlsx.
数据文件,其中包含有关位置,震级和海啸的原因时间戳数据。
ds = spepsheetdatastore('tsunamis.xlsx');t =高(DS)
T = MX20高大表纬度经度年月日时分秒ValidityCode有效性CauseCode原因EarthquakeMagnitude国家区MaxHeight IidaMagnitude强度NumDeaths DescDeaths ________ _________ ____ _____ ___ ____ ______ ______ ____________ _________________________ _________ __________________ ___________________ ___________________ __________________________ _________ _____________ _________ _________ __________ -3.8 128.3 1950年108 3 23纳米2 {'Chainsable海啸'} 1 {'地震'} 7.6 {'Indonesia'} {'Java Trench,Indonesia'} 2.8 1.5 1.5 NaN NaN 19.5 -156 1951 8 21 10 57 Nan 4 {'明确的海啸'} 1 {'地震'} 6.9 {'美国'} {'夏威夷'} 3.6 1.8纳米纳米-9.02 157.95 1951 12 22 22 32纳米南纳2 {“可疑的海啸”} 6 {'火山'}南{'Solomonislands'} {'kavachi'} 6 2.6纳米Nan NaN 42.15 143.85 1952 3 4 1 22 41 4 {'Demomations Tsunami'} 1 {'地震'} 8.1 {'日本'} {'SE。北海道岛} 6.5 2.7 2 33 1 19.1 -155 1952 3 17 3 58南4 {''''''''''''s's {'夏威夷'} 1 {'夏威夷'} {'夏威夷'} 1纳米南楠43.1 -82.41952年5 6南楠南1 {'非常值得怀疑的海啸'} 9 {'气象'}南{美国'} {'Huron,Mi'} 1.52纳米南纳352.75 159.5 1952 11 4 16 58南4 {''明确的海啸'} 1 {'地震'} 9 {'俄罗斯'} {'kamchatka'} 18 4.2 4 2236 3 50 156.5 1953 3 18南纳35 50 156.5 1953 3 18南楠3 {'可能的海啸'} 1 {'地震'} 5.8 {'俄罗斯} {'n。千岛群岛”} 1.5 0.6楠楠楠::::::::::::::::::::::::::::::::::::::::
结合了一年
,月
,日
,小时
,分钟
, 和第二
变量进入单个DateTime变量,然后从表中删除这些变量。删除包含缺失数据的任何行。
t.datetime = datetime(t.year,t.month,t.day,t.hour,t.minute,t.second);T(:,3:8)= [];tt = rmmissing(t)
TT = MX15高大表纬度经度ValidityCode有效期CauseCode原因EarthquakeMagnitude国家区MaxHeight IidaMagnitude强度NumDeaths DescDeaths日期时间________ _________ ____________ ____________________ _________ ____________________________ ___________________ _____________ ____________________________ _________ _____________ _________ _________ __________ ____________________ 42.15 143.85 4 { '确定海啸'} 1 { '地震'}8.1 { 'JAPAN'} {'SE。北海道 '} 6.5 2.7 2 33 1 04-MAR-1952 1点22分41秒58.34 -136.52 4 { '确定海啸'} 3 { '地震和滑坡'} 8.3 { 'USA'} {' SE。阿拉斯加,AK”} 524.26 4.6 5 5 1 10-JUL-1958 6点15分53秒-39.5 -74.5 4 { '确定海啸'} {1 '地震'} 9.5 {'智利} { '智利中部'} 254.6 4 1260 3 22可能 - 1960 19时11分十七秒-6.8 -80.7 4 { '确定海啸'} {1 '地震'} 6.8 { '秘鲁'} { '秘鲁'} 9 3.2 2.5 66 2 20 - 11月-1960 22时01分56秒61.1 -147.5 4 { '确定海啸'} 3 { '地震和滑坡'} 9.2 { 'USA'} { '威廉王子,AK'} 67 6.1 5 221 3 28-MAR-1964三点36分14秒38.65 139.2 4 { '确定海啸'} {1 '地震'} 7.5 { 'JAPAN'} {'NW。本州岛”} 5.8 2.7 2 26 1 16君1964 4时01分44秒0.2 119.8 4 { '确定海啸'} {1 '地震'} 7.8 { '印度尼西亚'} { 'BANDA SEA'} 10 3.3 3 2003 14 - 8 - 1968 -3.1二十二时14分19秒4 118.9 { '确定海啸'} {1 '地震'} 6.9 { '印度尼西亚'} { 'MAKASSAR海峡'} 4 2 2 600 3 23-FEB-1969 00:36:56::::::::::::::::::::::::::::::
将表格写入电子表格文件到AmazonS3®存储中的远程位置。要将数据读取或写入Amazon S3,您必须设置aws_access_key_id.
和aws_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 / demos
文件夹。所选图像具有扩展.jpg.
,.tif.
, 和.png.
.将数据存储区转换为高级单元格数组。
demofolder = fullfile(matlabroot,'工具箱','matlab','演示');ds = imageDatastore (demoFolder,“文件扩展名”,{“jpg”'.TIF''.png'});t =高(DS);
将其中一个图像带入内存并显示它。
我=聚集(T(1));
使用本地MATLAB会话评估tall表达式:-通过1/1:在3秒内完成评估在3.2秒内完成
imshow(i {1},'InitialMagnification',30)
写
不直接支持的图像文金宝app件,所以对图像写出不同的格式,你必须创建一个新的函数来处理文件写入。书写功能接收来自两个输入写:
信息
是包含有关当前数据块的信息的字段的结构。您可以使用这些字段来构建您自己的唯一文件名,或者只是使用建议菲伦仑名称
使用所建议的姓名的字段写
.
数据
是通过使用获得的当前数据块读
在数据存储上。
功能ImageWriter.
使用建议的文件名写
和用途IMWRITE.
将图像文件写入磁盘.jpg.
文件夹。将此功能保存在当前工作文件夹中。
类型ImageWriter.
函数imageWriter(信息,数据)filename=info.SuggestedFilename;imwrite(数据{:},文件名)结束
将数据存储区中的图像写入名为的新文件夹exampleImages.
在这一点C:\
磁盘。(您可以使用不同的位置,特别是如果您不使用Windows®Computer。)通过ImageWriter.
作为自定义写入功能使用'writefcn'
名称-值对的论点。
位置='c:\ exampleImages \ image _ *。jpg';写(位置,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中的远程位置®或亚马逊S3™。有关读取和写入远程位置的更多信息,请参阅与远程数据,.
其他考虑因素适用于Hadoop®和apache spark™:
如果文件夹在本地不可用,则文件夹的完整路径必须是表单的统一资源定位器(URL):hdfs:///
.到文件的路径
在写入HDFS之前,请设置HADOOP_HOME
,hadoop_prefix.
, 或者MATLAB_HADOOP_INSTALL
环境变量到安装Hadoop的文件夹。
在写入Apache Spark之前,请设置Spark_Home.
环境变量到安装Apache Spart的文件夹。
例子:位置='HDFS:///某些/输出/文件夹'
指定HDFS URL。
例子:位置= '../../dir/data'
指定相对文件路径。
例子:位置='C:\Users\MyName\Desktop\data'
指定Windows的绝对路径®桌面文件夹中。
例子:位置='文件:/// path / to / data'
指定了一个绝对URI的文件夹路径。
数据类型:char
|细绳
TA
- - - - - -输入数组输入数组,指定为高阵列。
filepattern
- - - - - -文件命名模式文件命名模式,指定为字符串或字符向量。文件命名模式必须包含一个要将文件写入其中的文件夹,然后是一个包含通配符的文件名*
. 这个写
函数用序号替换通配符,以确保唯一的文件名。
例子:写(“文件夹/ data_ * . txt”,tA)
写高大的阵列TA
作为一系列.txt
文件in.文件夹
文件名data_1.txt
,data_2.txt.
, 等等。
数据类型:char
|细绳
指定可选的逗号分隔的对名称,价值
论点。姓名
参数名和价值
是相应的价值。姓名
必须出现在引号内。您可以以任何顺序指定多个名称和值对参数名称1,值1,…,名称,值
.
写( 'C:\ MYDATA的',TX, '文件类型', '文本', 'WriteVariableNames',FALSE)
写高大的阵列TX
到C:\ mydata
由于不使用变量名作为列标题的文本文件的集合。
“文件类型”
- - - - - -文件类型“汽车”
(默认)|'垫'
|'镶木地板'
|'seq'
|'文本'
|'电子表格'
文件类型,指定为逗号分隔对,由“文件类型”
和允许的文件类型之一:“汽车”
,'垫'
,'镶木地板'
,'seq'
,'文本'
, 或者'电子表格'
.
使用“文件类型”
的名称-值对地点
参数来指定哪些类型的文件来写。默认情况下,写
尝试自动检测正确的文件类型。您不需要指定“文件类型”
名称 - 值对参数如果写
可以从扩展中确定文件类型地点
或者filepattern
论点。写
可以从这些扩展名确定文件类型:
。垫
对于MATLAB®数据文件
.Parquet.
或者帕尔克先生
镶木地板文件
.seq.
对于序列文件
.txt
,.dat
, 或者.csv.
用于分隔的文本文件
.xls.
,.xlsx.
,.xlsb
,.xlsm
,.xltx.
, 或者.xltm.
电子表格文件
例子:写入('C:\myData',tX',FileType',text')
'writefcn'
- - - - - -自定义写入功能自定义编写功能,指定为逗号分隔的一对组成的'writefcn'
和一个函数句柄。指定的函数从中接收数据块TA
并负责创建输出文件。你可以使用'writefcn'
名称 - 值对参数的写入数据中的各种格式,即使写
不直接支持输出格式。金宝app
自定义写入功能必须接受两个输入参数,信息
和数据
:
功能MyWriter(信息,数据)
数据
包含来自的数据块TA
.
信息
是一个字段的结构,包含有关数据块的信息。您可以使用字段构建最终位置全局唯一的新文件名。结构字段是
场 | 描述 |
---|---|
必备位置 |
完全合格的路径到一个临时的输出文件夹。仅将文件写入到这个文件夹复制到最终目的地。 |
RequiredFilePattern |
输出文件名所需的文件模式。如果仅指定了文件夹名称,则此字段为空。 |
建议菲伦仑名称 |
一个完全限定的、全局唯一的文件名,满足位置和命名要求。 |
partitionIndex. |
写入高阵列分区的索引。 |
NumPartitions |
高阵列中的分区总数。 |
blockindexinpartition. |
分区中当前数据块的位置。 |
Isfinalblock. |
真的 如果当前块是分区的最终块。 |
用于输出文件的文件名决定了输出文件的顺序数据存储
稍后将文件读入。如果文件的顺序很重要,那么最佳实践是使用建议菲伦仑名称
字段以命名文件,因为建议的名称保证了文件顺序。如果不使用建议的文件名,那么自定义写入功能必须创建全局唯一,正确有序的文件名。文件名应遵循概述的命名模式RequiredFilePattern
.当与并行计算工具箱并行运行™,文件名必须是唯一的,正确排序的工人之间,即使每个工人写入自己的本地文件夹。
您可以将一个高的数组划分为多个分区,以方便使用并行计算工具箱在数组上并行运行计算。每个分区仍然由更小的块组成,每个块都可以装入内存。
信息
包含几个与分区相关的字段:partitionIndex.
,NumPartitions
,blockindexinpartition.
, 和Isfinalblock.
. 这个se fields are useful when you are writing out a single file and appending to it, which is a common task for arrays with large partitions that have been split into many blocks. The custom writing function is called once per block, and the blocks in one partition are always written in order by the same worker. However, different partitions can be written by different workers.
写入电子表格文件的简单写作功能是
功能dataWriter(info, data) filename = info. suggestedfilename;writetable(数据、文件名“文件类型”,'电子表格')结束
dataWriter
作为一些数据的写入函数TT.
,使用这些命令。tt = tall(array2table(rand(5000,3)));位置=“/ tmp / MyData / tt_ * .xlsx”;写(位置,TT,'writefcn',@datawriter);
dataWriter
函数使用建议的文件名信息
结构和呼叫writetable
编写电子表格文件。建议的文件名考虑了所指定的文件命名模式地点
论点
数据类型:function_handle
'writevariamblenames'
- - - - - -将变量名称作为列标题写入变量名称的指示灯真的
或者1
(默认)|错误的
或者0
用于将变量名称作为列标题的指示符,指定为逗号分隔对'writevariamblenames'
和一个数字或逻辑1
(真的
) 或者0
(错误的
)。
指标 |
行为 |
---|---|
|
包含可变名称作为输出的列标题。(默认) |
|
输出中不包含变量名称。 |
“DateLocale”
- - - - - -写日期的区域设置用于编写日期的区域设置,指定为逗号分隔的配对组成“DateLocale”
和字符矢量或字符串标量。写作时约会时间
值的文件,使用datelocale.
指定区域设置写
应该写一个月和一周的名称和缩写。字符矢量或字符串采用表格
, 在哪里XX.
_yy.
XX.
是指示语言的小写ISO 639-1双字母代码yy.
是大写的ISO 3166-1 alpha-2代码,表示国家。有关区域设置的公共值列表,请参见地区
的名称 - 值对参数约会时间
函数。
对于Excel.®文件,写
写入包含的变量约会时间
阵列作为Excel日期并忽略了“DateLocale”
参数值。如果是约会时间
变量包含在1900或1904年之前的年份,然后写
将变量写入文本。有关Excel日期的详细信息,请参见1900年和1904年Excel的日期系统之间的差异.
例子:'datelocale','ja_jp'
或者'datelocale',“ja_jp”
数据类型:char
|细绳
“分隔符”
- - - - - -字段分隔符字符','
或者“逗号”
|“”
或者'空间'
|......字段分隔符,指定为逗号分隔的一对组成的“分隔符”
和其中一个说明符。
说明符 |
字段分隔符 |
---|---|
|
逗号(默认) |
|
空间 |
|
标签 |
|
分号 |
|
垂直条 |
你可以使用“分隔符”
只为分隔文本文件的名称 - 值对参数。
例子:“分隔符”、“空间”
或者“分隔符”,“空间”
“推广”
- - - - - -写作报价文本的指标错误的
(默认)|真的
写入引用文本的指示,指定为逗号分隔对“推广”
和任何一种错误的
或者真的
.如果“推广”
设置为真的
,然后写
将文本括在双引号中,并替换任何具有两个双引号字符的文本的一部分的双引号字符。例如,看到将引号写入CSV文件.
你可以使用“推广”
仅使用带分隔符的文本文件的名称-值对参数。
“编码”
- - - - - -字符编码方案'系统'
|'UTF-8'
|'ISO-8859-1'
|'窗口-1251'
|'Windows-1252'
|......与文件关联的字符编码方案,指定为逗号分隔对,由“编码”
和'系统'
或一个标准字符编码方案名称,如该表中的一个值。当您没有指定任何编码或指定编码为时'系统'
,写
函数使用您的系统默认编码来编写文件。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
例子:'编码','system'
或者'编码',“系统”
使用系统默认编码。
'床单'
- - - - - -工作目标目标工作表,指定为逗号分隔的一对组成的'床单'
和一个字符向量或包含工作表名称的字符串标量或显示工作表索引的正整数。工作表名称不能包含冒号(:
)。确定电子表格文件中的纸张名称,使用表格= SheetNames(文件名)
.有关更多信息,请参见张贴名录
.
如果图纸不存在,则写
加上在工作表收集结束一个新的工作表。如果片材是一种指数大于工作表的数量大,则写
追加空工作表,直到工作簿中的工作表数等于工作表索引。无论哪种情况,写
生成警告,指示它已添加新工作表。
你可以使用'床单'
名称-值对参数仅用于电子表格文件。
例子:'床单'
,2
例子:'床单'
,'MySheetName'
数据类型:char
|细绳
|单身的
|双倍的
|INT8.
|int16
|INT32.
|INT64.
|uint8.
|uint16
|UINT32.
|UINT64
“可变压缩”
- - - - - -木质压缩算法'snappy'
(默认)|'brotli'
|'gzip的'
|'未压缩'
|字符向量的单元格阵列|弦矢量镶木压缩算法,指定为其中一个值。
'snappy'
,'brotli'
,'gzip的'
, 或者'未压缩'
.如果指定一个压缩算法,那么写
使用相同的算法压缩所有变量。
或者,您可以指定字符向量的单元格数组或包含每个变量所用压缩算法名称的字符串向量。
一般来说,'snappy'
具有更好的性能阅读和写作,'gzip的'
具有更高的压缩比,但代价是更多的CPU处理时间,以及'brotli'
通常以压缩速度为代价生成最小的文件大小。
例子:写('c:\ mydata',tx,'filetype','parquet','variablecompression','brotli')
例子:写入('C:\myData',tX',FileType',parquet','VariableCompression',{'brotli''snappy''gzip'})
'可变码
- - - - - -编码方案名称“汽车”
(默认)|'字典'
|'清楚的'
|字符向量的单元格阵列|弦矢量编码方案的名称,指定为这些值之一:
“汽车”
- - - - - -写
使用'清楚的'
逻辑变量的编码,以及'字典'
为其他所有人编码。
'字典'
,'清楚的'
- 如果指定一个编码方案,那么写
用该方案对所有变量进行编码。
可替换地,可以指定字符向量的单元阵列或含有编码方案的名称用于每个变量的字符串矢量。
一般来说,'字典'
编码导致较小的文件大小,但'清楚的'
对于不包含许多重复值的变量,编码可以更快。如果字典或唯一值的数量的大小增长太大,则编码会自动恢复为普通编码。有关镶木地板编码的更多信息,请参阅拼花地板编码定义.
例子:write('myData.parquet',T',FileType',parquet',VariableEncoding',plain')
例子:写('mydata.parquet',t,'filetype','parquet','displassencoding',{'plain'icimenticoding''plain'plin'})
“版本”
- - - - - -拼花版用'2.0'
(默认)|'1.0'
使用的镶木地板版本,指定为'1.0'
或者'2.0'
.默认情况下,'2.0'
提供最有效的存储,但您可以选择'1.0'
有关支持地板格式的外部应用程序的最广泛兼容性。金宝app
警告
Parquet 1.0版本有一个限制,它不能往返类型的变量UINT32.
(它们被读回MatlabINT64.
)。
在某些情况下,写(位置,T, '文件类型',类型)
创建不代表原始数组的文件T
完全正确。如果你使用数据存储(位置)
若要读取文件,则结果可能与原始高表的格式或内容不同。
为了'文本'
和'电子表格'
文件类型,写
使用这些规则:
写
使用以下命令输出数值变量龙
格式和明确的,字符或字符串变量为不带引号的文本。
对于具有多个列的Nontext变量,写
在每行上输出多个分隔分离的字段,并为文件的第一行构造合适的列标题。
写
将具有两个以上维度的变量作为二维变量输出,并折叠尾随维度。
对于具有数字,逻辑,字符或分类的内容的细胞值变量,写
在多个分隔符分隔的字段中,将每个单元格的内容作为单行输出。如果单元格有不同的数据类型,写
输出单个空字段。
不要使用'文本'
或者'电子表格'
文件类型如果需要编写高阵列的精确检查点。
为了'镶木地板'
文件类型,也有一些情况下,实木复合地板格式不能完全代表MATLAB表或时间表的数据类型。如果你使用帕奎德书
或者数据存储
若要读取文件,则结果可能与原始高表的格式或内容不同。有关更多信息,请参见Apache Parquet数据类型映射.
使用写
函数来创建检查站或者快照特别是在处理庞大的数据集时。这种做法允许您直接从磁盘上的文件重构高数组,而不是重新执行生成高数组的所有命令。
此函数完全支持分布式阵列。有关详细信息,金宝app请参阅使用分布式阵列运行MATLAB函数(并行计算工具箱).
你点击一个链接对应于这个MATLAB命令:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。