writeall
将数据存储写入文件
描述
writeall (
从输入数据存储区写入数据ds
,outputLocation
)ds
中指定的位置输出文件outputLocation
。输出文件的数量与数据存储引用的文件数量相同。
writeall (
用一个或多个名称-值对参数指定的附加选项写入数据。例如,您可以指定ds
,outputLocation
,名称,值
)“OutputType”
和文件扩展名,如“csv”
指定文件的类型writeall
创建。
例子
写入和重建数据存储
将一个数据存储写入磁盘,然后为写入的文件创建一个新的数据存储。这个过程对于保存工作或与同事共享数据存储非常有用。
对象的数据存储airlinesmall.csv
数据集,处理“NA”
值作为缺失的数据。只选择一年
,月
,航空公司
变量。
数据存储(“airlinesmall.csv”);ds。TreatAsMissing =“NA”;ds。SelectedVariableNames = {“月”,“年”,“UniqueCarrier”};
预览数据存储。
预览(ds)
ans =8×3表月年UniqueCarrier _____ ____ _____________ 1987 1987{“PS”}{“PS”}1987{“PS”}1987{“PS”}1987{“PS”}1987{“PS”}1987{“PS”}1987{“PS”}
将此数据存储保存到一个名为ExampleData
在C: \
磁盘。(您可以指定不同的写入位置,特别是如果您没有使用Windows®计算机。)指定“FolderLayout”
作为“平”
将数据存储文件直接放在目标文件夹中,而不创建子文件夹。
位置=“C: \ ExampleData”;writeall (ds、位置“Folderlayout”,“平”)
清晰的ds
从您的工作目录。若要从磁盘恢复数据存储,请创建一个新的数据存储,该数据存储引用写入数据的同一文件夹。
清晰的dsDs2 =数据存储(位置);
复制或压平输出位置的文件夹布局
将数据存储写入文件时,可以通过设置“FolderLayout”
参数。从输入位置创建图像数据存储,然后将数据存储写入文件。接下来,复制文件夹布局,在输出位置写入文件。最后,将文件作为平面列表写入输出位置。
从该位置创建一个映像数据存储'输入C: \ \ '
,里面有一些汽车和火车的图片:
imds = imageDatastore('输入C: \ \ ',“IncludeSubfolders”,真正的);
这个文件夹结构只是一个例子。您可以在机器上使用包含图像文件的文件夹结构来尝试该功能。
检查文件夹
属性的输入数据存储,其中包含到输入数据集的完全限定路径。
洛桑国际管理发展学院。文件夹
ans = 1×1单元格数组{'C:\input\'}
将数据存储写入输出位置“C: \ \输出”
。的默认值“FolderLayout”
参数是“复制”
。因此,writeall
对象中包含的所有文件夹文件夹
属性,然后将文件写入相应的输出文件夹。
writeall (imd,“C: \ \输出”);
现在,将文件从数据存储写到输出位置“C: \ \输出”
通过设置作为平面列表“FolderLayout”
来“平”
。在这种情况下,writeall
函数不保留输入文件夹布局,而是将所有文件写入一个平面输出位置。
writeall (imd,“C: \ \输出”,“FolderLayout”,“平”);
有关更多信息,请参见FolderLayout。
为输出文件名添加前缀或后缀
您可以使用FilenamePrefix
而且FilenameSuffix
参数将文本添加到输出文件名的开头或结尾。从输入位置创建映像数据存储。将数据存储写到文件中,并在文件名的开头追加文本。然后再次写入数据存储,并在文件名的末尾追加文本。
从该位置创建一个映像数据存储'输入C: \ \ '
,里面有一些汽车和火车的图片:
imds = imageDatastore('输入C: \ \ ',“IncludeSubfolders”,真正的);
这个文件夹结构只是一个例子。您可以在机器上使用包含图像文件的文件夹结构来尝试该功能。
现在,将文件写入输出位置。指定的值FilenamePrefix
作为“png_”
将该文本附加到每个输出文件名的开头。
writeall (imd,“C: \ \输出”,“FilenamePrefix”,“png_”);
将文件写入不同的输出位置。指定的值FilenameSuffix
作为“_image”
将该文本附加到每个输出文件名的末尾。
writeall (imd,“C: \ output2 \”,“FilenameSuffix”,“_image”);
输入参数
ds
- - - - - -输入数据存储
数据存储对象
输入数据存储。您可以使用这些数据存储作为writeall
:
您还可以使用这些数据存储writeall
如果你提供“OutputFormat”
或“WriteFcn”
名称-值对:
outputLocation
- - - - - -写入数据的文件夹位置
特征向量|字符串标量
写入数据的文件夹位置,指定为字符向量或字符串标量。outputLocation
可以指定完整路径或相对路径。
例子:outputLocation = '../../dir/data'
例子:outputLocation = "C:\Users\MyName\Desktop"
数据类型:字符
|字符串
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字
在报价。
例子:writeall (ds, outputLocation FolderLayout’,‘平’)
OutputFormat
- - - - - -输出文件格式
特征向量|字符串标量
输出文件格式,指定为由逗号分隔的对组成“OutputFormat”
和字符向量或字符串标量。
根据输入数据存储的类型ds
,为输出文件选择其中一个值。您可以为下面列出的任何表格式数据存储选择任何表格式输出格式。
输入数据存储 |
输出格式 |
---|---|
TabulartextDatastore ,SpreadsheetDatastore ,ParquetDatastore |
“三” ,“csv” ,“xlsx” ,“xls” ,“铺” ,或“parq” |
ImageDatastore |
“png” ,“jpg” ,“jpeg” ,气管无名动脉瘘管的' ' ,或“饮” |
AudioDatastore |
“wav” ,“ogg” ,“flac” ,“mp4” ,或“m4a格式” |
FileDatastore ,TransformedDatastore ,CombinedDatastore ,SequentialDatastore |
支持所有输出格式。金宝app |
对于某些输出格式,可以使用附加的名称-值对来细化写入操作。
输出格式 | 名称-值对 |
---|---|
|
|
|
|
|
|
|
|
|
数据类型:字符
|字符串
FolderLayout
- - - - - -输出文件夹中的文件布局
“复制”
(默认)|“平”
输出文件夹中文件的布局,指定为逗号分隔的对,由“FolderLayout”
,要么“复制”
或“平”
。
“复制”
- - -writeall
函数将输入数据位置中包含的文件夹结构复制到指定的输出位置。输入数据位置包含文件夹
属性。“平”
- - -writeall
函数将所有文件从输入写入指定的输出文件夹,而不包含任何子文件夹。
数据类型:字符
|字符串
FilenamePrefix
- - - - - -文件名的前缀
特征向量|字符串标量
文件名的前缀,指定为逗号分隔的对,由“FilenamePrefix”
和字符向量或字符串标量。
的writeall
函数将指定的前缀添加到输出文件名中。例如,这段代码将今天的日期添加到数据存储中所有输出文件名的开头:
prefixText = string(日期时间(“今天”) writeall (imd,“C: \ myFolder”,“FilenamePrefix”, prefixText);
数据类型:字符
|字符串
FilenameSuffix
- - - - - -文件名后缀
特征向量|字符串标量
文件名的后缀,指定为逗号分隔的对,由“FilenameSuffix”
和字符向量或字符串标量。
的writeall
函数将指定的后缀添加到输出文件名中。例如,这段代码添加了描述性文本“jpeg_70per”
到数据存储中所有输出文件名的末尾:
writeall (imd,“C: \ myFolder”,“FilenameSuffix”,“jpeg_70per”);
数据类型:字符
|字符串
UseParallel
- - - - - -指示器要并行写入
假
(默认)|真正的
|0
|1
指示器要并行写入,指定为由逗号分隔的对组成“UseParallel”
,要么假
或真正的
(0
或1
).
默认情况下writeall
串行写入。如果你设置UseParallel
来真正的
,然后writeall
将写入操作划分为单独的组,并在以下情况下并行运行组:
安装并行计算工具箱™。
存在一个开放的并行池,或者在并行首选项中启用了自动创建池。
否则,writeall
无论for的值如何,都以串行方式写入UseParallel
。
writeall
不支持通过本地线程金宝app并行写入。
请注意
不支持并行写入金宝appCombinedDatastore
对象产生的数据存储变换
适用于CombinedDatastore
。
数据类型:逻辑
WriteFcn
- - - - - -自定义书写功能
函数处理
自定义写入函数,指定为由逗号分隔的对组成“WriteFcn”
和一个函数句柄。指定的函数负责创建输出文件。
您可以使用“WriteFcn”
名称-值对参数以各种格式写入数据,即使writeall
不直接支持输出格式。金宝app
函数签名
自定义写入函数必须接受至少三个输入参数,数据
,writeInfo
,outputType
:
函数myWriteFcn(数据、writeInfo outputType)
数据
属性的输出读
在数据存储上操作的方法。writeInfo
对象是类型吗matlab.io.datastore.WriteInfo
使用表中列出的字段。场 描述 类型 ReadInfo
的第二个输出 读
方法结构体
SuggestedOutputName
满足位置和命名要求的完全限定的全局惟一文件名 字符串
位置
传递给数据存储写入的位置参数 字符串
outputType
例如,要写入的输出格式是什么“三”
或“csv”
。
例子函数
从数据存储写入parquet文件的写函数是:
函数myParquetWriteFcn(data, writeInfo, outputType)如果比较字符串(outputType“铺”) parquetwrite (writeInfo.SuggestedOutputName数据)结束结束
myParquetWriteFcn
作为数据存储的写入功能ds
,使用以下命令:ds = parqueretdatastore (location);outputLocation =“C: / tmp / MyData”;writeall (ds, outputLocation“WriteFcn”, @myParquetWriteFcn);
数据类型:function_handle
jpeg
或jpg
输出
质量
- - - - - -jpeg压缩文件的质量
75
(默认)|范围[0,100]中的标量
jpeg压缩文件的质量,指定为逗号分隔的对,由“质量”
和范围[0,100]中的标量,其中0表示质量较低,压缩较高,100表示质量较高,压缩较低。
例子:“质量”,25岁
wav
或flac
输出
BitsPerSample
- - - - - -每个样本的输出比特数
16
(默认)|8
|24
|32
|64
每个样本的输出位数,由逗号分隔的对组成“BitsPerSample”
而且8
,16
,24
,32
,或64
。
仅适用于FLAC文件8
,16
,或24
支持每个样本位。金宝app
例子:“BitsPerSample”,32
mp4
或m4a格式
输出
比特率
- - - - - -千比特每秒(kbit/s)
128(默认)|64|96|160|192|256|320
用于压缩音频文件的每秒千比特数(kbit/s),由逗号分隔的对组成“比特率”
而且64
,96
,128
,160
,192
,256
,或320
。在窗户®7或之后,唯一有效的值是:96
,128
,160
,192
。
一般来说,一个较大的比特率
值产生更高的压缩质量。
例子:“比特率”,96年
三种
或csv
输出
WriteVariableNames
- - - - - -将变量名写入列标题的指示器
真正的
(默认)|假
将变量名写入列标题的指示器,指定为逗号分隔的对,由“WriteVariableNames”
,要么真正的
或假
。
指示器 |
行为 |
---|---|
|
写入函数包括变量名作为输出的列标题。这是默认行为。 |
|
写入函数在输出中不包括变量名。 |
分隔符
- - - - - -字段分隔符字符
特征向量|字符串标量
字段分隔符字符,指定为逗号分隔的对,由“分隔符”
和包含以下说明符之一的字符向量或字符串标量:
说明符 |
字段分隔符 |
---|---|
|
逗号。这是默认行为。 |
|
空间 |
|
选项卡 |
|
分号 |
|
竖线 |
您可以使用“分隔符”
仅用于分隔文本文件的名称-值对。
例子:“分隔符”、“空间”
数据类型:字符
|字符串
编码
- - - - - -字符编码方案
“系统”
(默认)|“utf - 8”
|“iso - 8859 - 1”
|“windows - 1251”
|“windows - 1252”
|……
与文件关联的字符编码方案,指定为逗号分隔的对,由“编码”
而且“系统”
或标准字符编码方案名称,如此表中的值之一。当您没有指定任何编码或将编码指定为“系统”
,写入功能使用系统默认编码写入文件。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
例子:“utf - 8”
数据类型:字符
|字符串
QuoteStrings
- - - - - -用于写作引用文本的指示器
“最低”
(默认)|“所有”
|“没有”
用于写入引用文本的指示器,指定为“最低”
,“所有”
,或“没有”
。
如果
QuoteStrings
是“最低”
,则该函数将包含分隔符、行结束符或双引号字符的任何变量包含在双引号字符中。如果
QuoteStrings
是“所有”
,则该函数将所有文本、类别、datetime和持续时间变量包含在双引号中。如果
QuoteStrings
是“没有”
,则函数不会用双引号将变量括起来。
您可以使用QuoteStrings
仅对带分隔符的文本文件使用名称-值参数。
xls
或xlsx
输出
表
- - - - - -要写入的工作表
特征向量|字符串标量|正整数
要写入的工作表,指定为逗号分隔的对,由“表”
字符向量或包含工作表名称的字符串标量或指示工作表索引的正整数。工作表名称不能包含冒号(:
).若要确定电子表格文件中工作表的名称,请使用Sheets = sheetnames(文件名)
。有关更多信息,请参见sheetnames
。
按名称或索引指定要写入的工作表:
name -如果指定的表名在文件中不存在,则写入函数将在工作表集合的末尾添加一个新表。
index -如果指定的工作表索引大于工作表的数量,则写入函数将追加空工作表,直到工作簿中的工作表数量等于工作表索引。写入功能还生成一个警告,表明它已添加了一个新的工作表。
您可以使用“表”
仅用于电子表格文件的名称-值对。
例子:“表”
,2
例子:“表”
,“MySheetName”
数据类型:字符
|字符串
|单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
扩展功能
自动平行支撑金宝app
通过使用并行计算工具箱™自动并行运行计算来加速代码。
要并行运行,请设置“UseParallel”
选项真正的
。
有关并行计算的更多一般信息,请参见运行MATLAB函数与自动并行支持金宝app(并行计算工具箱)。
版本历史
R2020a中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。