主要内容

读取数据存储中的数据

描述

例子

数据=阅读(ds从数据存储返回数据。的后续调用函数继续从前一次调用的端点读取。

数据信息= read(ds中提取的数据的信息信息,包括元数据。

例子

全部折叠

从示例文件创建一个数据存储,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

从示例文件创建一个数据存储,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(瓷砖)

图中包含一个轴对象。axis对象包含一个image类型的对象。

再次从合并的数据存储中读取。这是对函数继续从前一次调用的端点读取。

dataOut = read(imdsCombined)
dataOut =1×2单元格数组{480x640逻辑}

显示读取数据。

tile = imtile(dataOut);imshow(瓷砖)

图中包含一个轴对象。axis对象包含一个image类型的对象。

输入参数

全部折叠

输入数据存储。可以使用这些数据存储作为方法。

输出参数

全部折叠

的类型作为表或数组返回的输出数据ds

数据存储类型 数据类型数据 描述
TabularTextDatastore而且SpreadsheetDatastore 表格 SelectedVariableNames属性确定表变量。
ImageDatastore 整型数组

整数数组的维数取决于图像的类型:

  • 对于灰度图像,数据m×n的。

  • 对于真彩色图像,数据m-by-n-by-3。

  • 对于CMYK Tiff图像,数据m-by-n-by-4。

如果ReadSize属性大于1,则数据是与每个图像对应的图像数据的单元格数组。的方法支持的所有图像金宝app类型imread函数。有关受支持的映像类型的详细信息,请参见金宝appimread

KeyValueDatastore 表格 表变量名为关键而且价值
FileDatastore 不同 属性指定的自定义读取函数返回的输出相同“ReadFcn”价值。
TransformedDatastore 不同 输出和变换函数的输出是一样的@fcn指定于变换方法用于创建TransformedDatastore
CombinedDatastore 不同

包含从相应底层数据存储区读取的输出的水平连接。

SequentialDatastore 不同 包含从当前底层数据存储区顺序读取的输出。

关于读取数据的信息,作为结构数组或结构数组的单元格数组返回。

  • 对于MATLAB数据存储和TransformedDatastore信息是一个结构数组,其中包含有关数据存储的信息的字段。

  • CombinedDatastore信息是结构数组的单元格数组。单元格数组的每个元素都包含一个结构,其中包含相应底层数据存储的相关字段。

  • SequentialDatastore的数据类型和格式信息与当前底层数据存储相同。

结构数组中的信息取决于输入数据存储的类型。结构数组可以包含以下字段。

字段名 数据存储类型 描述
文件名 ImageDatastoreSpreadsheetDatastoreTabularTextDatastoreFileDatastoreKeyValueDatastore,TallDatastore 文件名完全解析的路径,包含路径字符串、文件名和文件扩展名。为ImageDatastore的对象ReadSize属性大于1,文件名是与每个图像对应的文件名的单元格数组。
文件大小

文件总大小(以字节为单位)。

ImageDatastore的对象ReadSize属性大于1,文件大小是对应于每个图像的文件大小的向量。

对于MAT-files,的值文件大小这取决于数据存储的类型。

  • KeyValueDatastore而且TallDatastore- - -文件大小字段包含文件中键-值对的总数。

  • FileDatastore- - -文件大小字段包含总文件大小(以字节为单位)。

文件类型 KeyValueDatastore只有

从其中读取数据的文件类型“垫”下载mat文件或“>”对于序列文件。

标签 ImageDatastore只有

图像标签名称。如果ReadSize属性大于1,则标签是每个图像对应的标签名称的向量。如果标签那么,属性是空的标签是空单元格数组。

NumCharactersRead TabularTextDatastore只有

读取的字符数。

NumDataRows SpreadsheetDatastore只有

包含从每个工作表中读取的行数的向量。

抵消 KeyValueDatastore而且TabularTextDatastore只有

读取操作的起始位置,以字节为单位。mat文件,抵消读取的第一个键和值的索引。

SheetNames SpreadsheetDatastore只有

阅读的纸张名称。

SheetNumbers SpreadsheetDatastore只有

与已读纸张相关的编号。

扩展功能

版本历史

在R2014b中引入