exponenta event banner

читать

Считывание данных в хранилище данных

Описание

пример

data = read(ds) возвращает данные из хранилища данных. Последующие вызовы read функция продолжает чтение из оконечного устройства предыдущего вызова.

[data,info] = read(ds) также возвращает информацию об извлеченных данных в info, включая метаданные.

Примеры

свернуть все

Создайте хранилище данных из файла образца, airlinesmall.csv, который содержит табличные данные.

ds = tabularTextDatastore('airlinesmall.csv','TreatAsMissing','NA','MissingValue',0);

Изменение SelectedVariableNames для указания интересующих переменных.

ds.SelectedVariableNames = {'DepTime','ArrTime','ActualElapsedTime'};

При наличии данных, доступных для чтения из хранилища данных, считывайте по одному блоку данных за раз и анализируйте данные. В этом примере суммировать фактическое прошедшее время.

sumElapsedTime = 0;
while hasdata(ds)
    T = read(ds);
    sumElapsedTime = sumElapsedTime + sum(T.ActualElapsedTime);
end

Просмотр суммы фактического прошедшего времени.

sumElapsedTime
sumElapsedTime = 14531797

Создайте хранилище данных из файла образца, mapredout.mat, который является выходным файлом mapreduce функция.

ds = datastore('mapredout.mat');

Считывание подмножества данных в хранилище данных.

T = read(ds)
T=1×2 table
     Key        Value  
    ______    _________

    {'AA'}    {[14930]}

Изменение числа пар ключ-значение, считываемых одновременно, путем изменения ReadSize свойства хранилища данных.

ds.ReadSize = 5;

Прочитайте следующие пять пар ключ-значение в хранилище данных.

T = read(ds)
T=5×2 table
     Key        Value  
    ______    _________

    {'AS'}    {[ 2910]}
    {'CO'}    {[ 8138]}
    {'DL'}    {[16578]}
    {'EA'}    {[  920]}
    {'HP'}    {[ 3660]}

Создайте хранилище данных, поддерживающее четность между двумя изображениями базовых хранилищ данных. Например, создайте два отдельных хранилища данных изображения, а затем создайте объединенное хранилище данных, которое считывает соответствующие изображения из двух хранилищ данных изображения.

Создание хранилища данных образа imds1 представляет коллекцию из трех изображений.

imds1 = imageDatastore({'peppers.png','street1.jpg','street2.jpg'}); 

Создание второго хранилища данных imds2 содержит маску ярких областей трех изображений. Чтобы создать это хранилище данных, сначала преобразуйте образы imds1 в градации серого. Затем преобразуйте каждое изображение в двоичную маску путем выполнения пороговой обработки. В этом примере операция пороговой обработки отображает пикселы со значением выше порогового значения (250) к белому и все остальные пикселы к черному.

imds2 = transform(imds1,@(x) rgb2gray(x)>250);

Создание объединенного хранилища данных из imds1 и imds2.

imdsCombined = combine(imds1,imds2);

Считывание первого подмножества данных из объединенного хранилища данных. Выходной сигнал представляет собой массив ячеек 1 на 2. Два столбца представляют первое подмножество данных, считанных из двух базовых хранилищ данных imds1 и imds2соответственно.

dataOut = read(imdsCombined)
dataOut=1×2 cell array
    {384x512x3 uint8}    {384x512 logical}

Отображение считанных данных из объединенного хранилища данных в виде пары мозаичных изображений.

tile = imtile(dataOut);
imshow(tile)

Figure contains an axes. The axes contains an object of type image.

Повторите чтение из объединенного хранилища данных. Этот вызов read функция продолжает чтение из оконечного устройства предыдущего вызова.

dataOut = read(imdsCombined)
dataOut=1×2 cell array
    {480x640x3 uint8}    {480x640 logical}

Просмотрите считанные данные.

tile = imtile(dataOut);
imshow(tile)

Figure contains an axes. The axes contains an object of type image.

Входные аргументы

свернуть все

Хранилище входных данных. Эти хранилища данных можно использовать в качестве входных данных для read способ.

Выходные аргументы

свернуть все

Выходные данные, возвращаемые в виде таблицы или массива в зависимости от типа ds.

Тип хранилища данныхТип данных dataОписание
TabularTextDatastore и SpreadsheetDatastoreСтол SelectedVariableNames свойство определяет переменные таблицы.
ImageDatastoreЦелочисленный массив

Размеры целого массива зависят от типа изображения:

  • Для изображений в градациях серого data m-by-n.

  • Для цветных изображений, data m-by-n-by-3.

  • Для изображений CMYK Tiff data m-by-n-by-4.

Если ReadSize свойство больше 1, то data - массив ячеек данных изображения, соответствующий каждому изображению. read поддерживает все типы изображений, поддерживаемые imread функция. Дополнительные сведения о поддерживаемых типах изображений см. в разделе imread.

KeyValueDatastoreСтолИмена табличных переменных: Key и Value.
FileDatastoreВарьируетсяВыходные данные совпадают с выходными данными, возвращаемыми пользовательской функцией чтения, заданной параметром 'ReadFcn' значение.
TransformedDatastoreВарьируетсяВыходной сигнал совпадает с выходным сигналом функции преобразования @fcn указано в transform метод, используемый для создания TransformedDatastore.
CombinedDatastoreВарьируется

Содержит горизонтальную конкатенацию выходных данных считывания из соответствующих базовых хранилищ данных.

Информация о считанных данных, возвращаемая в виде структурного массива или массива ячеек структурных массивов.

  • Для хранилищ данных MATLAB и TransformedDatastore, info - структурный массив, содержащий поля с информацией о хранилище данных.

  • Для CombinedDatastore, info - массив ячеек структурных массивов. Каждый элемент массива ячеек содержит структуру с соответствующими полями соответствующего базового хранилища данных.

Информация в массиве структуры зависит от типа входного хранилища данных. Структурный массив может содержать следующие поля.

Имя поляТипы хранилищ данныхОписание
FilenameImageDatastore,SpreadsheetDatastore, TabularTextDatastore, FileDatastore, KeyValueDatastore, и TallDatastoreFilename - полностью разрешенный путь, содержащий строку пути, имя файла и расширение файла. Для ImageDatastore объекты, ReadSize свойство больше 1, Filename - массив ячеек имен файлов, соответствующих каждому изображению.
FileSize

Общий размер файла, в байтах.

Для ImageDatastore объекты, ReadSize свойство больше 1, FileSize - вектор размеров файла, соответствующий каждому изображению.

Для файлов MAT значение FileSize зависит от типа хранилища данных.

  • KeyValueDatastore и TallDatastore- FileSize содержит общее число пар ключ-значение в файле.

  • FileDatastore- FileSize содержит общий размер файла в байтах.

FileTypeKeyValueDatastore только

Тип файла, из которого считываются данные: 'mat' для файлов MAT или 'seq' для файлов последовательности.

LabelImageDatastore только

Имя метки изображения. Если ReadSize свойство больше 1, то Label - вектор имен меток, соответствующий каждому изображению. Если Labels свойство пустое, затем Label является пустым массивом ячеек.

NumCharactersReadTabularTextDatastore только

Число прочитанных символов.

NumDataRowsSpreadsheetDatastore только

Вектор, содержащий число строк, считанных с каждого листа.

OffsetKeyValueDatastore и TabularTextDatastore только

Начальная позиция операции чтения, в байтах. Для файлов MAT Offset - индекс первого ключа и считанного значения.

SheetNamesSpreadsheetDatastore только

Названия листов читаются.

SheetNumbersSpreadsheetDatastore только

Нумерация, связанная с читаемыми листами.

См. также

| | |

Представлен в R2014b