htmlImportOptions

Настройки импорта возражают для файлов HTML

    Описание

    HTMLImportOptions объект позволяет вам задать как MATLAB® импортирует структурированный, табличные данные из файлов HTML. Объект содержит свойства, которые управляют процессом импорта данных, включая обработку ошибок и недостающих данных.

    Создание

    Можно создать HTMLImportOptions объект с помощью любого htmlImportOptions функция (описанный здесь) или detectImportOptions функция:

    • Используйте htmlImportOptions задавать свойства импорта на основе ваших требований импорта.

    • Используйте detectImportOptions обнаружить и заполнить свойства импорта на основе содержимого файла HTML, заданного в filename.

      opts = detectImportOptions(filename)

    Описание

    opts = htmlImportOptions создает HTMLImportOptions объект с одной переменной.

    opts = htmlImportOptions('NumVariables',numVars) создает объект с количеством переменных, заданных в numVars.

    пример

    opts = htmlImportOptions(___,Name,Value) задает дополнительные свойства для HTMLImportOptions объект с помощью одних или нескольких аргументов name-value.

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

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

    Количество переменных в виде положительного скалярного целого числа.

    Свойства

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

    Variable Properties

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

    Если данные содержат N переменные, но никакие имена переменных заданы, затем VariableNames свойство содержит {'Var1','Var2',...,'VarN'}.

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

    Пример: opts.VariableNames возвращает текущие (обнаруженные) имена переменных.

    Пример: opts.VariableNames(3) = {'Height'} изменяет название третьей переменной к Height.

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

    Отметьте, чтобы сохранить имена переменных в виде любого "modify" или "preserve".

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

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

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

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

    Обновить VariableTypes свойство, используйте setvartype функция.

    Пример: opts.VariableTypes возвращает текущие типы данных переменных.

    Пример: opts = setvartype(opts,'Height',{'double'}) изменяет тип данных переменной Height к double.

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

    SelectedVariableNames должно быть подмножество имен, содержавшихся в VariableNames свойство. По умолчанию, SelectedVariableNames содержит все имена переменных от VariableNames свойство, что означает, что все переменные импортируются.

    Используйте SelectedVariableNames свойство импортировать только переменные интереса. Задайте подмножество переменных с помощью SelectedVariableNames свойство и использование readtable импортировать только то подмножество.

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

    Пример: opts.SelectedVariableNames = {'Height','LastName'} выбирает только две переменные, Height и LastName, для операции импорта.

    Пример: opts.SelectedVariableNames = [1 5] выбирает только две переменные, первую переменную и пятую переменную, для операции импорта.

    Пример: T = readtable(filename,opts) возвращает таблицу, содержащую только переменные, заданные в SelectedVariableNames свойство opts объект.

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

    Введите определенные переменные настройки импорта, возвращенные как массив переменных объектов настроек импорта. Массив содержит объект, соответствующий каждой переменной, заданной в VariableNames свойство. Каждый объект в массиве содержит свойства, которые поддерживают импорт данных с определенным типом данных.

    Параметры переменной поддерживают эти типы данных: числовой, текст, logicaldatetime, или categorical.

    Чтобы запросить ток (или обнаруженный) опции для переменной, используйте getvaropts функция.

    Чтобы установить и настроить опции для переменной, используйте setvaropts функция.

    Пример: opts.VariableOptions возвращает набор VariableImportOptions объекты, одно соответствие каждой переменной в данных.

    Пример: getvaropts(opts,'Height') возвращает VariableImportOptions объект для Height переменная.

    Пример: opts = setvaropts(opts,'Height','FillValue',0) устанавливает FillValue свойство для переменной Height к 0.

    Location Properties

    Табличное выражение XPath данных в виде вектора символов или строкового скаляра, что чтение функционирует использование, чтобы выбрать выходные табличные данные. Необходимо задать TableSelector как допустимое выражение версии 1.0 XPath.

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

    ОписаниеTableSelector
    Таблица, содержащая текст "Денежные дивиденды""//TABLE[contains(.,'Cash dividends')]"
    Вторая таблица больше чем с 10 строками"//TABLE[count(TR)>10][2]"
    Таблица с ячейкой заголовка, точно совпадающей с "Описанием""//TABLE[.//TH='Description']"
    Таблица с заголовком, содержащим "Отчет""//TABLE[contains(CAPTION,'Report')]"
    Первая таблица после заголовка раздела "Сводные данные""H1[.='Summary']/following-sibling::TABLE[1]"
    Таблица с id атрибут, совпадающий с 'income'"//TABLE[@id='income']"

    Пример: 'TableSelector',"//TABLE[contains(.,'Cash dividends')]"

    Местоположение данных в виде положительного скалярного целого числа или N-by-2 массив положительных скалярных целых чисел. Задайте DataRows использование одной из следующих форм.

    Задайте как

    Описание

    n

    Задайте первую строку, которая содержит данные. Определение значения с помощью n устанавливает значение DataRows свойство к [n inf]. Функция импорта читает все строки между n и конец файла.

    n должно быть положительное целое число, больше, чем нуль.

    [n1 n2]

    Укажите диапазон строки, который содержит данные. n1 первая строка, которая содержит данные и n2 последняя строка, которая содержит данные.

    Значения в массиве [n1 n2] должны быть ненулевые положительные целые числа и n2 должен быть больше n1.

    [n1 n2; n3 n4;...]

    Укажите несколько диапазонов строки, чтобы читать с N-by-2 массив, содержащий N различные области значений строки.

    Допустимый массив нескольких областей значений строки должен:

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

    • Содержите только неперекрывающиеся области значений строки.

    При указывании нескольких диапазонов строки используйте Inf только, когда определение конца последней строки располагается в массиве. Например, [1 3; 5 6; 8 Inf].

    Пример: opts.DataRows = 5 устанавливает DataRows свойство к значению [5 inf]. Считайте все строки данных, начинающих со строки 5 до конца файла.

    Пример: opts.DataRows = [2 6] устанавливает свойство считать строки 2 через 6.

    Пример: opts.DataRows = [1 3; 5 6; 8 inf] устанавливает свойство считать строки 1, 2, 3, 5, 6, и все строки между 8, и конец файла.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

    Если RowNamesColumn задан как 0, затем не импортируйте имена строки. В противном случае импортируйте имена строки из заданного столбца.

    Пример: opts.RowNamesColumn = 2;

    Типы данных: single | double | uint8 | uint16 | uint32 | uint64

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

    Если VariableNamesRow 0, затем не импортируйте имена переменных. В противном случае импортируйте имена переменных из заданной строки.

    Пример: opts.VariableNamesRow = 6;

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Строка, содержащая переменные модули в виде неотрицательного целого числа.

    Если VariableUnitsRow 0, затем программное обеспечение не импортирует переменные модули. В противном случае программное обеспечение импортирует переменные модули из заданной строки.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Строка, содержащая описания переменной в виде неотрицательного целого числа.

    Если VariableDescriptionsRow 0, затем программное обеспечение не импортирует описания переменной. В противном случае программное обеспечение импортирует описания переменной из заданной строки.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Заменяющие правила

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

    MissingRule Поведение
    'fill'

    Замените недостающие данные на содержимое FillValue свойство.

    FillValue свойство задано в VariableImportOptions объект переменной импортируется. Для получения дополнительной информации о доступе к FillValue свойство, смотрите getvaropts.

    'error'Прекратите импортировать и отобразите сообщение об ошибке, показывающее недостающую запись и поле.
    'omitrow'Не используйте строки, которые содержат недостающие данные.
    'omitvar'Не используйте переменные, которые содержат недостающие данные.

    Пример: opts.MissingRule = 'omitrow';

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

    Процедура, чтобы обработать пустые строки в данных в виде "skip"чтение, или "error". Функция импорта интерпретирует пробел как пустой.

    Правило пустой строкиПоведение
    "skip"Пропустите пустые строки.
    "read"Импортируйте пустые строки. Функция импорта анализирует пустую строку с помощью значений, заданных в VariableOptionsMissingRule , и другие соответствующие свойства.
    "error"Отобразите сообщение об ошибке и прервите операцию импорта.

    Процедура, чтобы обработать ошибки импорта в виде одного из значений в этой таблице.

    ImportErrorRule Поведение
    'fill'

    Замените данные, где ошибка произошла с содержимым FillValue свойство.

    FillValue свойство задано в VariableImportOptions объект переменной импортируется. Для получения дополнительной информации о доступе к FillValue свойство, смотрите getvaropts.

    'error'Прекратите импортировать и отобразите сообщение об ошибке, показывающее вызывающую ошибку запись и поле.
    'omitrow'Не используйте строки, где ошибки происходят.
    'omitvar'Не используйте переменные, где ошибки происходят.

    Пример: opts.ImportErrorRule = 'omitvar';

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

    Процедура, чтобы обработать дополнительные столбцы в данных в виде одного из значений в этой таблице.

    ExtraColumnsRule Поведение
    'addvars'

    Чтобы импортировать дополнительные столбцы, создайте новые переменные. Если существует N дополнительные столбцы, затем импортируйте новые переменные как 'ExtraVar1', 'ExtraVar2',..., 'ExtraVarN'. Дополнительные столбцы данных импортируются как будто их VariableTypes char.

    'ignore'Проигнорируйте дополнительные столбцы данных.
    'wrap'Перенесите дополнительные столбцы данных к новым записям. Это действие не изменяет количество переменных.
    'error'Отобразите сообщение об ошибке и прервите операцию импорта.

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

    Процедура, чтобы обработать ячейки с объединенными столбцами в виде одного из значений в этой таблице.

    ImportErrorRule Поведение
    "placeleft"

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

    FillValue свойство задано в VariableImportOptions объект переменной импортируется. Для получения дополнительной информации о доступе к FillValue свойство, смотрите getvaropts.

    "placeright"

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

    FillValue свойство задано в VariableImportOptions объект переменной импортируется. Для получения дополнительной информации о доступе к FillValue свойство, смотрите getvaropts.

    "duplicate"

    Скопируйте данные во всех ячейках.

    "omitrow"Не используйте строки, где ошибки происходят.
    "error"Отобразите сообщение об ошибке и прервите операцию импорта.

    Процедура, чтобы обработать ячейки с объединенными строками в виде одного из значений в этой таблице.

    ImportErrorRule Поведение
    "placetop"

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

    FillValue свойство задано в VariableImportOptions объект переменной импортируется. Для получения дополнительной информации о доступе к FillValue свойство, смотрите getvaropts.

    "placebottom"

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

    FillValue свойство задано в VariableImportOptions объект переменной импортируется. Для получения дополнительной информации о доступе к FillValue свойство, смотрите getvaropts.

    "duplicate"

    Скопируйте данные во всех ячейках.

    "omitvar"Не используйте переменные, где объединенные строки происходят.
    "error"Отобразите сообщение об ошибке и прервите операцию импорта.

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

    Примеры

    свернуть все

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

    Создайте HTMLDocumentImportOptions объект. Читайте из первой таблицы, содержащей слово, "readtable" использование XPath запрашивает "//TABLE[contains(.,'readtable')]".

    opts = htmlImportOptions('TableSelector',"//TABLE[contains(.,'readtable')]")
    opts = 
      HTMLImportOptions with properties:
    
       Replacement Properties:
                    MissingRule: "fill"
                ImportErrorRule: "fill"
                   EmptyRowRule: "skip"
    
       Variable Import Properties: Set types by name using setvartype
                  VariableNames: "Var1"
                  VariableTypes: "char"
          SelectedVariableNames: "Var1"
                VariableOptions: Show all 1 VariableOptions 
    	Access VariableOptions sub-properties using setvaropts/getvaropts
             VariableNamingRule: "preserve"
    
       Location Properties:
                  TableSelector: "//TABLE[contains(.,'readtable')]"
               VariableNamesRow: 0
               VariableUnitsRow: 0
        VariableDescriptionsRow: 0
                 RowNamesColumn: 0
    
    

    Считайте таблицу из https://www.mathworks.com/help/matlab/text-files.html URL с помощью readtable функция с объектом опций.

    url = "https://www.mathworks.com/help/matlab/text-files.html";
    T = readtable(url,opts)
    T=4×2 table
               Var1                        Var2             
        __________________    ______________________________
    
        {'readtable'     }    {'Create table from file'    }
        {'writetable'    }    {'Write table to file'       }
        {'readtimetable' }    {'Create timetable from file'}
        {'writetimetable'}    {'Write timetable to file'   }
    
    
    Введенный в R2021b