exponenta event banner

tabularTextDatastore

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

Описание

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

Создание

Описание

ttds = tabularTextDatastore(location) создает хранилище данных из коллекции данных, указанной в location.

пример

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

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

развернуть все

Файлы или папки, включенные в хранилище данных, указанные как путь или DsFileSet объект.

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

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

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

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

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

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' - Определяет, должны ли выходные данные из хранилища данных быть таблицей или расписанием на основе указания 'RowTimes' пара имя-значение. При указании 'RowTimes' затем результат представляет собой расписание; в противном случае выходные данные представляют собой таблицу.

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

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

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

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

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

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

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

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

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

    • Определить 'AlternateFileSystemRoots' в виде массива ячеек строковых векторов.

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

    • Либо укажите 'AlternateFileSystemRoots' как массив ячеек массива ячеек символьных векторов.

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

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

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

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

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

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

Дополнительные сведения см. в разделе Настройка хранилища данных для обработки на различных машинах или кластерах.

Пример: ["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

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

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

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

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

Примечание

Locale значение определяет способ интерпретации входных значений. Формат и язык отображения определяются параметром Языковой стандарт (Locale) в разделе Формат даты и времени (Datetime format) окна Настройки (Preferences). Сведения об изменении языкового стандарта datetime по умолчанию см. в разделе Установка настроек окна команд.

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

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

Свойства

развернуть все

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

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

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

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

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

При изменении значения этого свойства функция хранилища данных повторно оценивает значения 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'

 

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

'Big5'

'EUC-KR'

'GB18030'

'Shift_JIS'

'Big5-HKSCS'

'EUC-JP'

'GB2312'

'windows-949'

'CP949'

'EUC-TW'

'GBK'

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример: '|'

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

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

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

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

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

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

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

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

Пример: ':'

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

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

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

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

Пример: 'NA'

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

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

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

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

Дополнительные свойства формата текста

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

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

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

  • Если не указано значение для TextscanFormats, то 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

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

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

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

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

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

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

Обработка нескольких разделителей, указанная как true или false. Если true, то 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 сбрасывает хранилище данных в состояние, в котором данные из него не считывались.

Типы данных: 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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

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

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

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

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

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

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

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

Укажите интересующие переменные.

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

Просмотр SelectedFormats собственность.

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

SelectedFormats свойство определяет способ tabularTextDatastore функция интерпретирует формат переменных. 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 вернуть расписания вместо таблиц.

Создание хранилища данных для 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'}

Ограничения

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

Представлен в R2014b