读
读取数据存储中的数据
描述
例子
读取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
函数。
ds =数据存储(“mapredout.mat”);
读取数据存储中的数据子集。
T =阅读(ds)
T =1×2表关键值______ _________ {'AA'} {[14930]}
更改一次要读取的键值对的数量ReadSize
属性。
ds。ReadSize = 5;
读取数据存储中的下五个键值对。
T =阅读(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 =结合(imds1 imds2);
从组合数据存储中读取第一个数据子集。输出是一个1 × 2的单元格数组。这两列表示从两个底层数据存储读取的第一个数据子集imds1
而且imds2
,分别。
dataOut =阅读(imdsCombined)
dataOut =1×2单元阵列{384x512x3 uint8} {384x512 logical}
将从组合数据存储中读取的数据显示为一对平铺图像。
瓦= imtile (dataOut);imshow(瓷砖)
再次从合并的数据存储中读取。这是对读
函数继续从上一个调用的端点读取数据。
dataOut =阅读(imdsCombined)
dataOut =1×2单元阵列{480x640x3 uint8} {480x640 logical}
显示已读数据。
瓦= imtile (dataOut);imshow(瓷砖)
输入参数
ds
- - - - - -输入数据存储
数据存储
输入数据存储。控件的输入可以使用这些数据存储读
方法。
MATLAB®datastore -使用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
).读
在基于线程的环境中不支持以下图像格式:分级数据格式(HDF)
sv
TIFF
有关更多信息,请参见在线程环境中运行MATLAB函数.
版本历史
介绍了R2014b
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。