datastore

Создайте datastore для большого количества данных

Описание

ds = datastore(location) создает datastore из набора данных, заданных location. Datastore является репозиторием для наборов данных, которые являются слишком большими, чтобы уместиться в памяти. После создания ds, можно считать и обработать данные.

пример

ds = datastore(location,Name,Value) задает дополнительные параметры для ds использование одного или нескольких аргументов пары "имя-значение". Например, можно создать datastore для файлов изображений путем определения 'Type','image'.

Примеры

свернуть все

Создайте datastore, сопоставленный с файлом примера airlinesmall.csv. Этот файл содержит данные авиакомпании с лет 1987 - 2008.

Чтобы управлять импортом недостающих данных в числовых столбцах, используйте 'TreatAsMissing' и 'MissingValue' аргументы в виде пар имя-значение. Замените каждый экземпляр 'NA' с 0 в импортированных данных путем определения значения 'TreatAsMissing' как 'NA' и значение 'MissingValue' как 0.

ds = datastore('airlinesmall.csv','TreatAsMissing','NA',...
               'MissingValue',0)
ds = 
  TabularTextDatastore with properties:

                      Files: {
                             ' .../devel/bat/BR2020bd/build/matlab/toolbox/matlab/demos/airlinesmall.csv'
                             }
                    Folders: {
                             '/mathworks/devel/bat/BR2020bd/build/matlab/toolbox/matlab/demos'
                             }
               FileEncoding: 'UTF-8'
   AlternateFileSystemRoots: {}
         VariableNamingRule: 'modify'
          ReadVariableNames: true
              VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
             DatetimeLocale: en_US

  Text Format Properties:
             NumHeaderLines: 0
                  Delimiter: ','
               RowDelimiter: '\r\n'
             TreatAsMissing: 'NA'
               MissingValue: 0

  Advanced Text Format Properties:
            TextscanFormats: {'%f', '%f', '%f' ... and 26 more}
                   TextType: 'char'
         ExponentCharacters: 'eEdD'
               CommentStyle: ''
                 Whitespace: ' \b\t'
    MultipleDelimitersAsOne: false

  Properties that control the table returned by preview, read, readall:
      SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
            SelectedFormats: {'%f', '%f', '%f' ... and 26 more}
                   ReadSize: 20000 rows
                 OutputType: 'table'
                   RowTimes: []

  Write-specific Properties:
     SupportedOutputFormats: ["txt"    "csv"    "xlsx"    "xls"    "parquet"    "parq"]
        DefaultOutputFormat: "txt"

datastore создает TabularTextDatastore.

Создайте datastore, содержащий весь .tif файлы в пути MATLAB® и его подпапках.

ds = datastore(fullfile(matlabroot, 'toolbox', 'matlab'),...
'IncludeSubfolders', true,'FileExtensions', '.tif','Type', 'image')
ds = 

  ImageDatastore with properties:

       Files: {
              ' ...\matlab\toolbox\matlab\demos\example.tif';
              ' ...\matlab\toolbox\matlab\imagesci\corn.tif'
              }
    ReadSize: 1
      Labels: {}
     ReadFcn: @readDatastoreImage

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

свернуть все

Файлы или папки, включенные в datastore в виде пути или DsFileSet объект.

  • path Задайте путь как вектор символов, массив ячеек из символьных векторов, строковый скаляр или массив строк, содержа местоположение файлов или папок, которые являются локальными или удаленными.

    • Локальные файлы или папки — Задают location как локальный путь к файлам или папкам. Если файлы не находятся в текущей папке, то локальный путь должен задать полные или относительные пути. Файлы в подпапках заданной папки автоматически не включены в datastore. Можно использовать подстановочный символ (*) при определении локального пути. Этот символ указывает, что datastore включает все файлы соответствия или все файлы в соответствующих папках.

    • Удаленные файлы или папки — Задают location быть полными путями файлов или папок как универсальный локатор ресурса (URL) формы hdfs:///path_to_file. Для получения дополнительной информации смотрите работу с Удаленными данными.

  • DsFileSet объект — также можно задать location как DsFileSet объект. Для получения дополнительной информации смотрите matlab.io.datastore.DsFileSet.

Когда location представляет папку, datastore включает только поддерживаемые форматы файлов и игнорирует любой другой формат. Чтобы задать пользовательский список расширений файла, чтобы включать в ваш datastore, смотрите FileExtensions свойство.

Для KeyValueDatastore, файлами должны быть MAT-файлы или файлы Последовательности, сгенерированные mapreduce функция. MAT-файлы должны быть в локальной файловой системе или в сетевой файловой системе. Файлы последовательности могут быть в локальной, сетевой, или файловой системе HDFS™. Для DatabaseDatastore, аргумент местоположения не должен быть файлами. Для получения дополнительной информации смотрите DatabaseDatastore (Database Toolbox).

Пример: 'file1.csv'

Пример: '../dir/data/file1.jpg'

Пример: {'C:\dir\data\file1.xls','C:\dir\data\file2.xlsx'}

Пример: 'C:\dir\data\*.mat'

Пример: 'hdfs:///data/file1.txt'

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'FileExtensions',{'.jpg','.tif'} включает все расширения с .jpg или .tif расширение для ImageDatastore объект.

Тип datastore в виде разделенной запятой пары, состоящей из 'Type' и одно из следующего:

Значение 'Type'Описание
'tabulartext'Текстовые файлы, содержащие табличные данные. Кодирование данных должно быть ASCII или UTF-8.
'image'Файлы изображений в формате, такие как JPEG или PNG. Приемлемые файлы включают imformats ' format ' .
'spreadsheet'Файлы электронной таблицы, содержащие один или несколько листов.
'keyvalue'Данные о паре "ключ-значение" содержатся в MAT-файлах или файлах Последовательности с данными, сгенерированными mapreduce.
'file'Пользовательские файлы формата, которые требуют, чтобы заданная функция чтения считала данные. Для получения дополнительной информации смотрите FileDatastore.
'tall'MAT-файлы или файлы Последовательности, произведенные write функция tall тип данных. Для получения дополнительной информации смотрите, TallDatastore.
'parquet'Файлы Parquet, содержащие данные в столбцах. Для получения дополнительной информации смотрите, ParquetDatastore.
'database'Данные хранимы в базе данных. Требует Database Toolbox™. Требует спецификации дополнительного входного параметра при использовании type параметр. Для получения дополнительной информации смотрите DatabaseDatastore (Database Toolbox).
  • Если существует несколько типов, которые поддерживают формат файлов, то используют 'Type' аргумент, чтобы задать тип хранилища данных.

  • Если вы не задаете значение для 'Type'то datastore автоматически определяет соответствующий тип datastore, чтобы создать на основе расширений файлов.

Типы данных: char | string

Включайте подпапки в папке в виде разделенной запятой пары, состоящей из 'IncludeSubfolders' и true (1) или false (0). Задайте true включать все файлы и подпапки в каждой папке или false включать только файлы в каждой папке.

Когда вы не задаете 'IncludeSubfolders', затем значением по умолчанию является false.

'IncludeSubfolders' пара "имя-значение" только допустима при создании этих объектов:

  • TabularTextDatastore

  • ImageDatastore

  • SpreadsheetDatastore

  • FileDatastore

  • KeyValueDatastore

  • ParquetDatastore

Пример: 'IncludeSubfolders',true

Типы данных: логический | double

Расширения файлов в виде разделенной запятой пары, состоящей из 'FileExtensions' и вектор символов, массив ячеек из символьных векторов, строковый скаляр или массив строк. При определении 'FileExtensions', также задайте 'Type'. Можно использовать пустые кавычки '' представлять файлы без расширений.

Если 'FileExtensions' не задан, затем datastore автоматически включает все поддерживаемые расширения файла в зависимости от типа хранилища данных. Если вы хотите включать неподдерживаемые расширения, затем задать каждое расширение, вы хотите включать индивидуально.

  • Для TabularTextDatastore объекты, поддерживаемые расширения включают .txt, .csv, .dat, .dlm, .ascТекст, и никакое расширение.

  • Для ImageDatastore объекты, поддерживаемые расширения включают весь imformats расширения.

  • Для SpreadsheetDatastore объекты, поддерживаемые расширения включают .xls, .xlsx, .xlsm, .xltx, и .xltm.

  • Для TallDatastore объекты, поддерживаемые расширения включают .mat и .seq.

  • Для ParquetDatastore объекты, поддерживаемые расширения включают .parquet и .parq.

'FileExtensions' пара "имя-значение" только допустима при создании этих объектов:

  • TabularTextDatastore

  • ImageDatastore

  • SpreadsheetDatastore

  • FileDatastore

  • KeyValueDatastore

  • ParquetDatastore

Пример: 'FileExtensions','.jpg'

Пример: 'FileExtensions',{'.txt','.text'}

Типы данных: char | cell | string

Альтернативные пути к корню файловой системы в виде разделенной запятой пары, состоящей из 'AlternateFileSystemRoots' и вектор строки или массив ячеек. Используйте 'AlternateFileSystemRoots' когда вы создаете datastore на локальной машине, но должны получить доступ и обработать данные на другой машине (возможно различной операционной системы). Кроме того, когда обработка данных с помощью Parallel Computing Toolbox™ и MATLAB® Parallel Server™ и данных хранится на локальных машинах с копией доступных данных в облаке другой платформы или кластерных машинах, необходимо использовать 'AlternateFileSystemRoots' сопоставлять корневые пути.

  • Чтобы сопоставить набор корневых путей, которые эквивалентны друг другу, задайте 'AlternateFileSystemRoots' как вектор строки. Например,

    ["Z:\datasets","/mynetwork/datasets"]

  • Чтобы сопоставить несколько наборов корневых путей, которые эквивалентны для datastore, задайте 'AlternateFileSystemRoots' как массив ячеек, содержащий несколько строк, где каждая строка представляет набор эквивалентных корневых путей. Задайте каждую строку в массиве ячеек или как вектор строки или как массив ячеек из символьных векторов. Например:

    • Задайте 'AlternateFileSystemRoots' как массив ячеек векторов строки.

      {["Z:\datasets", "/mynetwork/datasets"];...
       ["Y:\datasets", "/mynetwork2/datasets","S:\datasets"]}

    • В качестве альтернативы задайте 'AlternateFileSystemRoots' как массив ячеек массива ячеек из символьных векторов.

      {{'Z:\datasets','/mynetwork/datasets'};...
       {'Y:\datasets', '/mynetwork2/datasets','S:\datasets'}}

Значение 'AlternateFileSystemRoots' должен удовлетворить этим условиям:

  • Содержит одну или несколько строк, где каждая строка задает набор эквивалентных корневых путей.

  • Каждая строка задает несколько корневых путей, и каждый корневой путь должен содержать по крайней мере два символа.

  • Корневые пути уникальны и не являются подпапками друг друга.

  • Содержит по крайней мере одну корневую запись пути, которая указывает на местоположение файлов.

Для получения дополнительной информации смотрите Настроенный Datastore для Обработки на Различных Машинах или Кластерах.

Пример: ["Z:\datasets","/mynetwork/datasets"]

Типы данных: string | cell

Тип выходных данных текстовых переменных в виде разделенной запятой пары, состоящей из 'TextType' и любой 'char' или 'string'. Если выходная таблица от readreadall, или preview функции содержат текстовые переменные, затем 'TextType' задает тип данных тех переменных для TabularTextDatastore и SpreadsheetDatastore объекты только. Если 'TextType' ischar, затем выход является массивом ячеек из символьных векторов. Если 'TextType' isstring, затем выход имеет, вводят string.

Типы данных: char | string

Введите для импортированных данных о дате и времени в виде разделенной запятой пары, состоящей из 'DatetimeType' и одно из этих значений: 'datetime' или 'text'. 'DatetimeType' аргумент только применяется при создании TabularTextDatastore объект.

ЗначениеВведите для импортированных данных о дате и времени
'datetime'

MATLAB datetime тип данных

Для получения дополнительной информации смотрите datetime.

'text'

Если 'DatetimeType' задан как 'text', затем тип для импортированных данных о дате и времени зависит от значения, заданного в 'TextType' параметр:

  • Если 'TextType' ischar, затем datastore возвращает даты как массив ячеек из символьных векторов.

  • Если 'TextType' isstring, затем datastore возвращает даты как массив строк.

Пример: 'DatetimeType','datetime'

Типы данных: char | string

Тип выходных данных данных о длительности из текстовых файлов в виде разделенной запятой пары, состоящей из 'DurationType' и любой 'duration' или 'text'.

ЗначениеВведите для импортированных данных о длительности
'duration'

MATLAB duration тип данных

Для получения дополнительной информации смотрите duration.

'text'

Если 'DurationType' задан как 'text', затем тип для импортированных данных о длительности зависит от значения, заданного в 'TextType' параметр:

  • Если 'TextType' ischar, затем функция импорта возвращает данные о длительности как массив ячеек из символьных векторов.

  • Если 'TextType' isstring, затем функция импорта возвращает данные о длительности как массив строк.

Типы данных: char | string | datetime

Отметьте, чтобы сохранить имена переменных в виде разделенной запятой пары, состоящей из VariableNamingRule и любой true, или false.

  • 'preserve' — Сохраните имена переменных, которые не являются допустимыми идентификаторами MATLAB, такими как имена переменных, которые включают символы non-ASCII и пробелы.

  • 'modify' — Преобразуйте недопустимые имена переменных (как определено isvarname функция) к допустимым идентификаторам MATLAB.

Начиная в R2019b, имена переменных и имена строки могут включать любые символы, включая символы non-ASCII и пробелы. Кроме того, они могут начать с любых символов, не только обозначает буквами. Переменная и имена строки не должны быть допустимыми идентификаторами MATLAB (как определено isvarname функция. Чтобы сохранить эти имена переменных и имена строки, установите значение VariableNamingRule к 'preserve'.

Типы данных: char | string

В дополнение к этим парам "имя-значение" также можно задать любое из свойств следующих объектов как пары "имя-значение", за исключением Files свойство:

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

свернуть все

Datastore для набора данных, возвращенных как один из этих объектов: TabularTextDatastoreImageDatastoreSpreadsheetDatastoreKeyValueDatastorefileDatastoreTallDatastore, ParquetDatastore, или DatabaseDatastore. Тип datastore зависит от типа файлов или location аргумент. Для получения дополнительной информации кликните по имени хранилища данных в следующей таблице:

Ввод Вывод
Текстовые файлыTabularTextDatastore
Файлы изображенийImageDatastore
Файлы электронной таблицыSpreadsheetDatastore
MAT-файлы или файлы Последовательности производятся mapreduceKeyValueDatastore
Пользовательские файлы форматаFileDatastore
MAT-файлы или файлы Последовательности, произведенные write функция tall тип данных. TallDatastore
Файлы ParquetParquetDatastore
База данныхDatabaseDatastore (Database Toolbox)

Для каждых из этих типов хранилищ данных, Files свойство является массивом ячеек из символьных векторов. Каждый вектор символов является абсолютным путем к файлу, разрешенному location аргумент.

Введенный в R2014b