tabularTextDatastore

Datastore для табличных текстовых файлов

Описание

Использование TabularTextDatastore объект для управления большими наборами текстовых файлов, содержащих столбчатые или табличные данные, где набор не обязательно помещается в памяти. Табличные данные являются данными, которые расположены прямоугольным образом с каждой строкой, имеющей одинаковое количество записей. Можно создать TabularTextDatastore объект с использованием tabularTextDatastore function, задайте его свойства, а затем импортируйте и обрабатывайте данные с помощью функций object.

Создание

Описание

ttds = tabularTextDatastore(location) создает datastore из набора данных, заданного location.

пример

ttds = tabularTextDatastore(location,Name,Value) задает дополнительные параметры и свойства для ttds использование одного или нескольких аргументов пары "имя-значение". Для примера, tabularTextDatastore(location,'FileExtensions',{'.txt','.csv'}) создает datastore только из файлов в location с расширениями .txt и .csv.

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

расширить все

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

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

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

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

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

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

The tabularTextDatastore функция поддерживает следующие расширения: .txt, .csv, .dat, .dlm, .asc, .text, или без внутренней линии.

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

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

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

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

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

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

Пример: ttds = tabularTextDatastore('C:\dir\textdata','FileExtensions',{'.csv','.txt'})

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

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

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

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

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

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

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

Типы данных: logical | double

Выходной тип данных, заданный как разделенная разделенными запятой парами, состоящая из 'OutputType' и одно из следующих значений:

  • 'auto' - Определяет, должен ли выход из datastore быть таблицей или расписанием на основе того, задаете ли вы 'RowTimes' Пара "имя-значение". Если вы задаете 'RowTimes' затем выводится расписание; в противном случае выводится таблица.

  • 'table' - Возврат table.

  • 'timetable' - Возврат timetable.

Значение OutputType определяет тип данных, возвращаемых preview, read, и readall функций. Используйте эту опцию в сочетании с 'RowTimes' Пара "имя-значение" для возврата расписаний из TabularTextDatastore.

Пример: 'OutputType','timetable'

Типы данных: char | 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'. Если выходная таблица из read, readall, или preview функции содержат текстовые переменные, затем 'TextType' задает тип данных этих переменных для TabularTextDatastore. Если 'TextType' является 'char', затем выводится массив ячеек из векторов символов. Если 'TextType' является 'string', затем выход имеет тип string.

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

Тип для импортированных данных даты и времени, заданный как разделенная разделенными запятой парами, состоящая из 'DatetimeType' и одно из следующих значений: 'datetime' или 'text'.

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

MATLAB- datetime тип данных

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

'text'

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

  • Если 'TextType' является 'char', затем tabularTextdatastore импортирует даты как массив ячеек из векторов символов.

  • Если 'TextType' является 'string', затем tabularTextdatastore импортирует даты как массив строк.

Если заданное TextscanFormats свойство содержит %D, затем tabularTextdatastore игнорирует значение, заданное в DatetimeType.

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

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

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

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

MATLAB- duration тип данных

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

'text'

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

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

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

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

Локаль для интерпретации дат, заданная как вектор символов или строковый скаляр. The DatetimeLocale значение определяет, как функция импорта интерпретирует текст, который представляет даты и времена.

При указании DatetimeLocale, используйте форму xx_ YY, где xx является строчным двухбуквенным кодом ISO 639-1, который задает язык и YY является заглавным кодом ISO 3166-1 альфа-2, который задает страну.

В этой таблице перечислены некоторые общие значения для локали.

Локаль ЯзыкСтрана
'de_DE'Немецкий языкГермания
'en_GB'Английский языкВеликобритания
'en_US'Английский языкСША
'es_ES'Испанский языкИспания
'fr_FR'Французский языкФранция
'it_IT'Итальянский языкИталия
'ja_JP'Японский языкЯпония
'ko_KR'Корейский языкКорея
'nl_NL'Нидерландский языкНидерланды
'zh_CN'Китайский (упрощенный)Китай

Примечание

The Locale значение определяет, как интерпретируются входные значения. Форматы отображения и язык задаются Локалью опции в разделе Datetime format окна Настроек. Для изменения локали datetime по умолчанию смотрите Задать настройки Командного окна.

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

В дополнение к этим парам "имя-значение", можно также задать свойства на этой странице как пары "имя-значение", за исключением Files свойство.

Свойства

расширить все

TabularTextDatastore свойства описывают файлы, сопоставленные с TabularTextDatastore объект. В частности, свойства описывают формат данных в файлах и управляют тем, как данные должны считываться из datastore. Когда вы создаете TabularTextDatastore объект, функция datastore использует первый файл в Files свойство для определения значений свойств. За исключением Files свойство, можно задать значение TabularTextDatastore свойства с использованием аргументов пары "имя-значение" при создании объекта datastore. Чтобы просмотреть или изменить свойство после создания объекта, используйте запись через точку:

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

Свойства файла

Файлы, включенные в datastore, разрешаются как массив ячеек из векторов символов или строковые массивы, где каждый вектор или строка символов является полным путем к файлу. The location аргумент в tabularTextDatastore и datastore функции определяют эти файлы.

Первый файл, заданный как Files свойство определяет имена переменных и информацию о формате для всех файлов в datastore.

Когда вы изменяете значение этого свойства, функция datastore переоценивает значения TabularTextDatastore свойства.

Пример: {'C:\dir\data\mydata1.csv';'C:\dir\data\mydata2.csv'}

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

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

'IBM866'

'ISO-8859-1'

'windows-847'

'KOI8-R'

'ISO-8859-2'

'windows-1250'

'KOI8-U'

'ISO-8859-3'

'windows-1251'

'Macintosh'

'ISO-8859-4'

'windows-1252'

'US-ASCII'

'ISO-8859-5'

'windows-1253'

'UTF-8'

'ISO-8859-6'

'windows-1254'

 

'ISO-8859-7'

'windows-1255'

 

'ISO-8859-8'

'windows-1256'

 

'ISO-8859-9'

'windows-1257'

 

'ISO-8859-11'

'windows-1258'

 

'ISO-8859-13'

 
 

'ISO-8859-15'

 

Если каждый файл в datastore помещается в память, то FileEncoding также может быть одним из этих значений.

'Big5'

'EUC-KR'

'GB18030'

'Shift_JIS'

'Big5-HKSCS'

'EUC-JP'

'GB2312'

'windows-949'

'CP949'

'EUC-TW'

'GBK'

 

Когда вы изменяете значение этого свойства, функция datastore переоценивает значения TabularTextDatastore свойства.

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

Считайте имена переменных, заданные как логическое true или false.

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

  • Если true, затем первая строка первого файла, не являющаяся заголовком, определяет имена переменных для данных.

  • Если falseзатем первая строка первого файла, не являющаяся заголовком, содержит первую строку данных. Данным присваиваются имена переменных по умолчанию, Var1, Var2и так далее.

Когда вы изменяете значение этого свойства, функция datastore переоценивает значения TabularTextDatastore свойства.

Типы данных: logical

Флаг для сохранения имен переменных, заданный как разделенная разделенными запятой парами, состоящая из VariableNamingRule и любой из них 'modify' или 'preserve'.

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

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

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

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

Имена переменных в datastore, заданные как массив ячеек из векторов символов или строковые массивы. Укажите имена переменных в том порядке, в котором они появляются в файлах. Если вы не задаете имена переменных, они обнаруживаются из первой линии, не являющейся заголовком, в первом файле datastore. При изменении VariableNames свойство, количество новых имен переменных должно совпадать с количеством исходных имен переменных.

Чтобы поддержать недопустимые идентификаторы MATLAB в качестве имен переменных, таких как имена переменных, содержащие пространства и символы, отличные от ASCII, задайте значение VariableNamingRule параметр в 'preserve'.

Если ReadVariableNames является false, затем VariableNames по умолчанию является {'Var1','Var2', ...}.

Пример: {'Time','Name','Quantity'}

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

Свойства текстового формата

Количество линий для пропуска в начале файла в виде неотрицательного целого числа. Если не задано, tabularTextDatastore функция определяет количество линий, которые нужно пропустить автоматически.

The tabularTextDatastore функция игнорирует указанное количество линий заголовка перед чтением имен переменных или данных.

Когда вы изменяете значение этого свойства, функция datastore переоценивает значения TabularTextDatastore свойства.

Типы данных: double

Символы разделителя полей, заданные как вектор символов, массив ячеек из векторов символов, строковый скаляр или строковые массивы. Задайте несколько разделителей в массиве ячеек с векторами символов или строковыми массивами. Если не задано, tabularTextDatastore функция автоматически обнаруживает разделитель.

Пример: '|'

Пример: {';','*'}

Повторные символы разделителя в файле интерпретируются как отдельные разделители с пустыми полями между ними. Если не задано, функция read автоматически обнаруживает разделитель по умолчанию.

Когда вы задаете одну из следующих escape-последовательностей как разделитель, она преобразуется в соответствующий управляющий символ.

\bКлавиша Backspace
\nNewline
\rВозврат каретки
\tВкладка
\\Обратная косая черта (\)

Когда вы изменяете значение этого свойства, функция datastore переоценивает значения TabularTextDatastore свойства.

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

Символ разделителя строк, заданный как вектор символов или строковый скаляр, который должен быть либо одним символом, либо одним из '\r', '\n', или '\r\n'.

Когда вы изменяете значение этого свойства, функция datastore переоценивает значения TabularTextDatastore свойства.

Пример: ':'

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

Текст для обработки как отсутствующих значений, заданный как один вектор символов, массив ячеек с векторами символов, строковый скаляр или строковые массивы. Значения, заданные как TreatAsMissing заменяются значением, заданным в MissingValue свойство. Для образца, если MissingValue определяется как NaN, и TreatAsMissing задается как 'NA'. Затем в импортированных данных все вхождения 'NA' заменяются NaN.

Эта опция применяется только к числовым полям. Кроме того, это свойство эквивалентно TreatAsEmpty аргумент пары "имя-значение" для textscan функция.

Когда вы изменяете значение этого свойства, функция datastore переоценивает значения TabularTextDatastore свойства.

Пример: 'NA'

Пример: {'-',''}

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

Значение для отсутствующих числовых полей в текстовых файлах с разделителями, заданное как скаляр. Это свойство эквивалентно EmptyValue аргумент пары "имя-значение" для textscan функция.

Типы данных: double

Расширенные свойства текстового формата

Формат поля данных, заданный как массив ячеек из векторов символов или строковых массивов, где каждый вектор или строка символов содержит один спецификатор преобразования.

Когда вы задаете или изменяете TextscanFormats свойство, можно использовать те же спецификаторы преобразования, что и textscan функция принимает для formatSpec аргумент. Допустимые значения для TextscanFormats включать спецификаторы преобразования, которые пропускают поля с помощью символа звездочки (*) и таковых, которые пропускают буквенный текст. Количество спецификаторов преобразования должно совпадать с количеством переменных в VariableNames свойство.

  • Если значение TextscanFormats включает спецификаторы преобразования, которые пропускают поля, используя символы звездочки (*), затем значение SelectedVariableNames автоматически обновляется свойство. MATLAB использует %*q спецификатор преобразования в пропущенные поля, опущенные SelectedVariableNames и обработки содержимое поля как буквальные векторы символов. Для файлов с фиксированной шириной укажите пропущенное поле, используя соответствующий спецификатор преобразования вместе с шириной поля. Для примера, %*52c пропускает поле, содержащее 52 символа.

  • Если вы не задаете значение для TextscanFormats, затем datastore определяет формат полей данных путем сканирования текста из первой линии, не являющейся заголовком, в первом файле datastore.

  • Начиная с R2020b, datastore обнаруживает префиксированные литералы как шестнадцатеричные и двоичные данные. Ранее, datastore обнаруженные литералы с префиксом в виде текстовых данных.

Пример: {'%s','%s','%f'}

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

Символы экспоненты, заданные как вектор символов или строковый скаляр. Символы экспоненты по умолчанию e, E, d, и D.

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

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

  • Если вы задаете вектор символов или строковый скаляр, то весь последующий текст в одной линии интерпретируется как комментарий. Для примера, 'CommentStyle','/*' интерпретирует весь текст после /* на той же линии в качестве комментария.

  • Если вы задаете двухэлементный строковый вектор или двухэлементный массив ячеек, содержащий векторы символов, то весь текст между этими двумя символами интерпретируется как комментарий. Для примера, 'CommentStyle',{'/*', '*/'} интерпретирует весь текст между '/*' и '*/' как комментарий.

При чтении с TabularTextDatastore, а read функция проверяет комментарии только в начале каждого поля, а не в поле.

Когда вы изменяете значение этого свойства, datastore функция переоценивает значения TabularTextDatastore свойства.

Пример: 'CommentStyle',{'/*', '*/'}

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

Пробелы, заданные как вектор символов или строковый скаляр одного или нескольких символов.

Когда вы задаете одну из следующих escape-последовательностей как любой символ белого пространства, datastore функция преобразует эту последовательность в соответствующий управляющий символ.

\bКлавиша Backspace
\nNewline
\rВозврат каретки
\tВкладка
\\Обратная косая черта (\)

Когда вы изменяете значение этого свойства, функция datastore переоценивает значения TabularTextDatastore свойства.

Пример: ' \b\t'

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

Множественная обработка разделителя, заданная как true или false. Если true, затем datastore рассматривает последовательные разделители как один разделитель. Повторные разделители, разделенные пустым пространством, также рассматриваются как один разделитель.

Когда вы изменяете значение этого свойства, функция datastore переоценивает значения TabularTextDatastore свойства.

Свойства для preview, read, readall Таблица

Переменные для чтения из файла, заданные как массив ячеек с векторами символов или строковыми массивами, где каждый вектор символов или строка содержит имя одной переменной. Вы можете задать имена переменных в любом порядке.

Чтобы поддержать недопустимые идентификаторы MATLAB в качестве имен переменных, таких как имена переменных, содержащие пространства и символы, отличные от ASCII, задайте значение VariableNamingRule параметр в 'preserve'.

Пример: {'Var3','Var7','Var4'}

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

Форматы выбранных переменных для чтения, заданные как массив ячеек из векторов символов или строковые массивы, где каждый вектор символов или строка содержит один спецификатор преобразования. Переменные, которые нужно считать, обозначены SelectedVariableNames свойство. Количество векторов символов или строк в SelectedFormats должен совпадать с количеством считываемых переменных.

Можно использовать те же спецификаторы преобразования, что и textscan функция принимает, включая спецификаторы, которые пропускают буквенный текст. Однако вы не можете использовать спецификатор преобразования, который пропускает поле. То есть спецификатор преобразования не может включать символ звездочки (*).

Пример: {'%d','%d'}

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

Объем данных для чтения в вызове на read функция, заданная как положительная скалярная величина или 'file'.

  • Если ReadSize является положительным целым числом, затем каждый вызов в read читает самое большее ReadSize строки.

  • Если ReadSize является 'file', затем каждый вызов на read считывает все данные в одном файле.

Когда вы меняете ReadSize от числового скаляра до 'file' или наоборот, MATLAB сбрасывает datastore в состояние, в котором из него не считывались данные.

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

Выход данных текстовых переменных, заданный как 'char' или 'string'. TextType задает тип данных текстовых переменных, форматированных с помощью %s, %q, или [...].

  • Если TextType является 'char', затем выводится массив ячеек из векторов символов.

  • Если TextType является 'string', затем выход имеет тип string.

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

Имя переменной времени строки, заданное как разделенная разделенными запятой парами, состоящая из 'RowTimes' и имя переменной (например "Date") или индекс переменной (например 3).

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

Если значение 'OutputType' является 'timetable', но вы не уточняете 'RowTimes', затем TabularTextDatastore использует первую datetime или duration переменная в качестве времени строки для расписания.

Свойства для использования writeall

Это свойство доступно только для чтения.

Папки, используемые для создания datastore, возвращенные как массив ячеек из векторов символов. Массив ячеек ориентирован как вектор-столбец. Каждый вектор символов является путем к папке, которая содержит файлы данных. The location аргумент в tabularTextDatastore и datastore функции определяют Folders при создании datastore.

The Folders свойство сбрасывается при изменении Files свойство TabularTextDatastore объект.

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

Это свойство доступно только для чтения.

Список форматов, поддерживаемых для записи, возвращаемый как вектор-строка строк. Это свойство задает возможные выходные форматы при использовании writeall для записи выходных файлов из datastore.

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

Это свойство доступно только для чтения.

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

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

Функции объекта

hasdataОпределите, доступны ли данные для чтения
numpartitionsКоличество разделов datastore
partitionРаздел datastore
previewПредварительный просмотр подмножества данных в datastore
readЧтение данных в datastore
readallЧтение всех данных в datastore
writeallЗапись datastore в файлы
resetСбросьте datastore в начальное состояние
transformПреобразуйте datastore
combineОбъедините данные из нескольких хранилищ данных
isPartitionableОпределите, является ли datastore разделяемым
isShuffleableОпределите, является ли datastore shuffleable

Примеры

свернуть все

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

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

Просмотрите переменные в datastore.

ds.VariableNames
ans = 1x29 cell
  Columns 1 through 5

    {'Year'}    {'Month'}    {'DayofMonth'}    {'DayOfWeek'}    {'DepTime'}

  Columns 6 through 9

    {'CRSDepTime'}    {'ArrTime'}    {'CRSArrTime'}    {'UniqueCarrier'}

  Columns 10 through 13

    {'FlightNum'}    {'TailNum'}    {'ActualElapsedTime'}    {'CRSElapsedTime'}

  Columns 14 through 18

    {'AirTime'}    {'ArrDelay'}    {'DepDelay'}    {'Origin'}    {'Dest'}

  Columns 19 through 22

    {'Distance'}    {'TaxiIn'}    {'TaxiOut'}    {'Cancelled'}

  Columns 23 through 25

    {'CancellationCode'}    {'Diverted'}    {'CarrierDelay'}

  Columns 26 through 28

    {'WeatherDelay'}    {'NASDelay'}    {'SecurityDelay'}

  Column 29

    {'LateAircraftDelay'}

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

ds.SelectedVariableNames = {'Year','Month','Cancelled'};

Кроме того, можно задать интересующие вас переменные при создании datastore.

ds = tabularTextDatastore('airlinesmall.csv','TreatAsMissing','NA',...
    'MissingValue',0,'SelectedVariableNames',{'Year','Month','Cancelled'});

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

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

Задайте интересующие переменные.

ds.SelectedVariableNames = {'Year','Month','UniqueCarrier'};

Просмотрите SelectedFormats свойство.

ds.SelectedFormats
ans = 1x3 cell
    {'%f'}    {'%f'}    {'%q'}

The SelectedFormats свойство задает, как tabularTextDatastore функция интерпретирует формат переменных. The Year и Month переменные считываются как столбцы значений с плавающей точкой и UniqueCarrier переменная как столбец текста.

Измените SelectedFormats свойство, чтобы считать первые две переменные как целые числа со знаком, и третью переменную как категориальное значение.

ds.SelectedFormats = {'%d','%d','%C'};

Предварительный просмотр данных.

T = preview(ds)
T=8×3 table
    Year    Month    UniqueCarrier
    ____    _____    _____________

    1987     10           PS      
    1987     10           PS      
    1987     10           PS      
    1987     10           PS      
    1987     10           PS      
    1987     10           PS      
    1987     10           PS      
    1987     10           PS      

Используйте OutputType и RowTimes Парами "имя-значение" сделать tabulartextDatastore возвращает расписания вместо таблиц.

Создайте datastore для outages.csv. Задайте 'OutputType' Пара "имя-значение" как 'timetable'.

ttds = tabularTextDatastore('outages.csv','OutputType','timetable');
preview(ttds)
ans=8×5 timetable
       OutageTime          Region         Loss     Customers     RestorationTime            Cause       
    ________________    _____________    ______    __________    ________________    ___________________

    2002-02-01 12:18    {'SouthWest'}    458.98    1.8202e+06    2002-02-07 16:50    {'winter storm'   }
    2003-01-23 00:49    {'SouthEast'}    530.14    2.1204e+05                 NaT    {'winter storm'   }
    2003-02-07 21:15    {'SouthEast'}     289.4    1.4294e+05    2003-02-17 08:14    {'winter storm'   }
    2004-04-06 05:44    {'West'     }    434.81    3.4037e+05    2004-04-06 06:10    {'equipment fault'}
    2002-03-16 06:18    {'MidWest'  }    186.44    2.1275e+05    2002-03-18 23:23    {'severe storm'   }
    2003-06-18 02:49    {'West'     }         0             0    2003-06-18 10:54    {'attack'         }
    2004-06-20 14:39    {'West'     }    231.29           NaN    2004-06-20 19:16    {'equipment fault'}
    2002-06-06 19:28    {'West'     }    311.86           NaN    2002-06-07 00:51    {'equipment fault'}

Когда вы также не задаете 'RowTimes', tabularTextDatastore использует первую переменную datetime или duration в качестве времени строки. В этом случае OutageTime переменная используется для значений времени строки.

Задайте 'RowTimes' опция для использования времени восстановления (RestorationTime переменная) в виде количества строк вместо времени отключения степени.

ttds = tabularTextDatastore('outages.csv','OutputType','timetable','RowTimes','RestorationTime');
preview(ttds)
ans=8×5 timetable
    RestorationTime        Region           OutageTime        Loss     Customers            Cause       
    ________________    _____________    ________________    ______    __________    ___________________

    2002-02-07 16:50    {'SouthWest'}    2002-02-01 12:18    458.98    1.8202e+06    {'winter storm'   }
    NaT                 {'SouthEast'}    2003-01-23 00:49    530.14    2.1204e+05    {'winter storm'   }
    2003-02-17 08:14    {'SouthEast'}    2003-02-07 21:15     289.4    1.4294e+05    {'winter storm'   }
    2004-04-06 06:10    {'West'     }    2004-04-06 05:44    434.81    3.4037e+05    {'equipment fault'}
    2002-03-18 23:23    {'MidWest'  }    2002-03-16 06:18    186.44    2.1275e+05    {'severe storm'   }
    2003-06-18 10:54    {'West'     }    2003-06-18 02:49         0             0    {'attack'         }
    2004-06-20 19:16    {'West'     }    2004-06-20 14:39    231.29           NaN    {'equipment fault'}
    2002-06-07 00:51    {'West'     }    2002-06-06 19:28    311.86           NaN    {'equipment fault'}

Ограничения

  • Данные datetime, содержащие имена дней, месяцев или часовых поясов на иностранном для en_US языке локаль не поддерживается. Для непризнанных форматов datetime задайте формат используя TextscanFormats параметр.

Введенный в R2014b