read

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

Описание

пример

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({'peppers.png','street1.jpg','street2.jpg'}); 

Создайте второй 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=1×2 cell array
    {384x512x3 uint8}    {384x512 logical}

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

tile = imtile(dataOut);
imshow(tile)

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

Читайте из объединенного datastore снова. Этот вызов 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.

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

свернуть все

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

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

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

  • Пользовательские хранилища данных — Хранилища данных создали использование пользовательской среды хранилища данных. Смотрите Разрабатывают Пользовательский 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информация массив структур, который имеет поля с информацией о datastore.

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

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

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

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

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

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

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

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

FileTypeKeyValueDatastore только

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

LabelImageDatastore только

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

NumCharactersReadTabularTextDatastore только

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

NumDataRowsSpreadsheetDatastore только

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

OffsetKeyValueDatastore и TabularTextDatastore только

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

SheetNamesSpreadsheetDatastore только

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

SheetNumbersSpreadsheetDatastore только

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

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

| | |

Введенный в R2014b