读
读取数据存储中的数据
描述
例子
读取TabularTextDatastore中的数据
从示例文件创建一个数据存储,airlinesmall.csv
,其中包含表格数据。
ds = tabularTextDatastore(“airlinesmall.csv”,“TreatAsMissing”,“NA”,“MissingValue”, 0);
修改SelectedVariableNames
属性指定感兴趣的变量。
ds。SelectedVariableNames = {“DepTime”,“ArrTime”,“ActualElapsedTime”};
当有数据可从数据存储中读取时,每次读取一个数据块并分析数据。在本例中,计算实际运行时间的总和。
sumElapsedTime = 0;而hasdata(ds) T = read(ds);sumElapsedTime = sumElapsedTime + sum(T.ActualElapsedTime);结束
查看实际运行时间的总和。
sumElapsedTime
sumElapsedTime = 14531797
读取KeyValueDatastore中的数据
从示例文件创建一个数据存储,mapredout.mat
的输出文件mapreduce
函数。
数据存储(“mapredout.mat”);
读取数据存储中的数据子集。
T = read(ds)
T =1×2表关键值______ _________ {'AA'} {[14930]}
方法更改一次要读取的键-值对的数量ReadSize
属性。
ds。ReadSize = 5;
读取数据存储中接下来的五个键-值对。
T = read(ds)
T =5×2表键值 ______ _________ {' “}{[2910]}{‘公司’}{[8138]}{“DL”}{[16578]}{' EA}{[920]}{“惠普”}{[3660]}
在组合数据存储中读取数据
创建一个在底层数据存储的映像对之间保持奇偶性的数据存储。例如,创建两个独立的图像数据存储,然后创建一个组合数据存储,从两个图像数据存储中读取相应的图像。
创建映像数据存储imds1
表示三个图像的集合。
imds1 = imageDatastore({“peppers.png”,“street1.jpg”,“street2.jpg”});
创建第二个数据存储imds2
包含一个掩模的明亮区域的三幅图像。要创建此数据存储,首先转换的映像imds1
灰度。然后通过阈值分割将每个图像转换为二进制掩码。在本例中,阈值操作映射的像素值高于阈值(250
)为白色,所有其他像素为黑色。
Imds2 = transform(imds1,@(x) im2gray(x)>250);
创建一个组合的数据存储imds1
而且imds2
.
imdsCombined = combine(imds1,imds2);
从组合的数据存储中读取数据的第一个子集。输出是一个1 × 2单元格数组。这两列表示从两个底层数据存储中读取的第一个数据子集imds1
而且imds2
,分别。
dataOut = read(imdsCombined)
dataOut =1×2单元格数组{384x512x3 uint8} {384x512 logical}
将从组合数据存储中读取的数据显示为一对平铺图像。
tile = imtile(dataOut);imshow(瓷砖)
再次从合并的数据存储中读取。这是对读
函数继续从前一次调用的端点读取。
dataOut = read(imdsCombined)
dataOut =1×2单元格数组{480x640逻辑}
显示读取数据。
tile = imtile(dataOut);imshow(瓷砖)
输入参数
ds
- - - - - -输入数据存储
数据存储
输入数据存储。可以使用这些数据存储作为读
方法。
MATLAB®数据存储-使用MATLAB创建的数据存储
数据存储
功能。例如,为图像集合创建一个数据存储ImageDatastore
.有关数据存储的完整列表,请参见选择“文件格式”或“应用程序”的数据存储.自定义数据存储——使用自定义数据存储框架创建的数据存储。看到开发自定义数据存储.
输出参数
数据
-输出数据
表格
的类型作为表或数组返回的输出数据ds
.
数据存储类型 | 数据类型数据 |
描述 |
---|---|---|
TabularTextDatastore 而且SpreadsheetDatastore |
表格 | 的SelectedVariableNames 属性确定表变量。 |
ImageDatastore |
整型数组 | 整数数组的维数取决于图像的类型:
如果 |
KeyValueDatastore |
表格 | 表变量名为关键 而且价值 . |
FileDatastore |
不同 | 属性指定的自定义读取函数返回的输出相同“ReadFcn” 价值。 |
TransformedDatastore |
不同 | 输出和变换函数的输出是一样的@fcn 指定于变换 方法用于创建TransformedDatastore . |
CombinedDatastore |
不同 | 包含从相应底层数据存储区读取的输出的水平连接。 |
SequentialDatastore |
不同 | 包含从当前底层数据存储区顺序读取的输出。 |
信息
—读数据信息
结构数组|单元格数组
关于读取数据的信息,作为结构数组或结构数组的单元格数组返回。
对于MATLAB数据存储和
TransformedDatastore
,信息
是一个结构数组,其中包含有关数据存储的信息的字段。为
CombinedDatastore
,信息
是结构数组的单元格数组。单元格数组的每个元素都包含一个结构,其中包含相应底层数据存储的相关字段。为
SequentialDatastore
的数据类型和格式信息
与当前底层数据存储相同。
结构数组中的信息取决于输入数据存储的类型。结构数组可以包含以下字段。
字段名 | 数据存储类型 | 描述 |
---|---|---|
文件名 |
ImageDatastore ,SpreadsheetDatastore ,TabularTextDatastore ,FileDatastore ,KeyValueDatastore ,TallDatastore |
文件名 完全解析的路径,包含路径字符串、文件名和文件扩展名。为ImageDatastore 的对象ReadSize 属性大于1,文件名 是与每个图像对应的文件名的单元格数组。 |
文件大小 |
文件总大小(以字节为单位)。 为 对于MAT-files,的值
|
|
文件类型 |
KeyValueDatastore 只有 |
从其中读取数据的文件类型 |
标签 |
ImageDatastore 只有 |
图像标签名称。如果 |
NumCharactersRead |
TabularTextDatastore 只有 |
读取的字符数。 |
NumDataRows |
SpreadsheetDatastore 只有 |
包含从每个工作表中读取的行数的向量。 |
抵消 |
KeyValueDatastore 而且TabularTextDatastore 只有 |
读取操作的起始位置,以字节为单位。mat文件, |
SheetNames |
SpreadsheetDatastore 只有 |
阅读的纸张名称。 |
SheetNumbers |
SpreadsheetDatastore 只有 |
与已读纸张相关的编号。 |
扩展功能
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
使用注意事项和限制:
在基于线程的环境中,可以使用
读
仅适用于以下数据存储:ImageDatastore
对象CombinedDatastore
,SequentialDatastore
,或TransformedDatastore
从中创建的对象ImageDatastore
通过使用结合
或变换
你可以使用
读
与其他数据存储,如果您有并行计算工具箱™。为此,请使用进程支持的并行池而不是使用backgroundPool
或ThreadPool
(使用ProcessPool
或ClusterPool
).读
在基于线程的环境中金宝app不支持以下图像格式:分层数据格式(HDF)
sv
TIFF
有关更多信息,请参见在线程环境中运行MATLAB函数.
版本历史
在R2014b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。