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'}); 

Создайте второй imds2 datastore содержащая маску ярких областей трех изображений. Чтобы создать этот 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 способ.

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

свернуть все

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

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

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

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

  • Для изображений truecolor, data m-на-n-на-3.

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

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

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

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

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

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

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

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

Имя поляТипы DatastoreОписание
FilenameImageDatastore, SpreadsheetDatastore, TabularTextDatastore, FileDatastore, KeyValueDatastore, и TallDatastoreFilename - полностью разрешенный путь, содержащий строку пути, имя файла и расширение файла. Для 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