чтение

Считайте данные в datastore

Синтаксис

data = read(ds)
[data,info] = read(ds)

Описание

пример

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

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

Примеры

свернуть все

Создайте datastore из файла примера, airlinesmall.csv, который содержит табличные данные.

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

Измените свойство SelectedVariableNames задать переменные интереса.

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

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

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

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

sumElapsedTime
sumElapsedTime = 14531797

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

ds = datastore('mapredout.mat');

Считайте подмножество данных в datastore.

T = read(ds)
T=1×2 table
    Key      Value 
    ____    _______

    'AA'    [14930]

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

ds.ReadSize = 5;

Считайте следующие пять пар "ключ-значение" в datastore.

T = read(ds)
T=5×2 table
    Key      Value 
    ____    _______

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

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

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

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

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

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

Создайте объединенный datastore из imds1 и imds2.

imdsCombined = combine(imds1,imds2);

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

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

Отобразите данные о чтении из объединенного datastore как пара мозаичных изображений.

tile = imtile(dataOut);
imshow(tile)

Входные параметры

свернуть все

Введите datastore. Можно использовать эти хранилища данных в качестве входа к методу read.

  • Хранилища данных MATLAB® — Хранилища данных, созданные с помощью MATLAB функции datastore. Например, создайте datastore для набора изображений с помощью ImageDatastore. Для полного списка хранилищ данных смотрите, Выбирают Datastore for File Format или Application.

  • Объединенные и преобразованные хранилища данных — Хранилища данных создали использование функции transform и combine.

  • Пользовательские хранилища данных — Хранилища данных создали использование пользовательской среды хранилища данных. Смотрите Разрабатывают Пользовательский Datastore.

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

свернуть все

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

Тип DatastoreТип данных dataОписание
TabularTextDatastore и SpreadsheetDatastoreТаблицаСвойство SelectedVariableNames определяет табличные переменные.
ImageDatastoreЦелочисленный массив Размерности целочисленного массива зависят от типа изображения:
  • Для полутоновых изображений data является m на n.

  • Для изображений истинного цвета data является m n 3.

  • Для изображений TIFF CMYK data является m n 4.

Если свойство ReadSize больше, чем 1, то data является массивом ячеек данных изображения, соответствующих каждому изображению. Функция read поддерживает все типы изображения, поддержанные функцией imread. Для получения дополнительной информации о поддерживаемых типах изображения смотрите imread.
KeyValueDatastoreТаблицаИменами табличной переменной является Key и Value.
FileDatastoreОтличаетсяВывод совпадает с выходным параметром, возвращенным пользовательской функцией чтения, заданной значением 'ReadFcn'.
TransformedDatastoreОтличаетсяВывод совпадает с выводом функции преобразования, @fcn, заданный в методе transform раньше, создавал TransformedDatastore.
CombinedDatastoreОтличается

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

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

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

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

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

Имя поляТипы хранилищ данныхОписание
FilenameВсеFilename является полностью разрешенным путем, содержащим строку пути, имя файла и расширение файла. Поскольку ImageDatastore возражает, чье свойство ReadSize больше, чем 1, Filename является массивом ячеек имен файлов, соответствующих каждому изображению.
FileSizeВсе

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

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

Для MAT-файлов значение FileSize зависит от типа datastore.

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

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

FileTypeKeyValueDatastore только

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

LabelImageDatastore только

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

NumCharactersReadTabularTextDatastore только

Количество чтения символов.

NumDataRowsSpreadsheetDatastore только

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

OffsetKeyValueDatastore и TabularTextDatastore только

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

SheetNamesSpreadsheetDatastore только

Имена чтения листов.

SheetNumbersSpreadsheetDatastore только

Нумерация сопоставленного с чтением листов.

Смотрите также

| | |

Введенный в R2014b