readtable

Составьте таблицу из файла

Описание

пример

T = readtable(filename) создает таблицу путем чтения ориентированных на столбцы данных из файла.

readtable определяет формат файла из расширения файла:

  • .txt, .dat, или .csv для текстовых файлов с разделителями

  • .xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, или .ods для файлов электронной таблицы

  • .xml для файлов расширяемого языка разметки (XML)

Для текста и файлов электронной таблицы, readtable создает одну переменную в T для каждого столбца в файле и считывает имена переменных из первой строки файла. Для XML- файлов, readtable создает одну переменную в T для каждого элемента или узла атрибута, обнаруженного как табличная переменная. Имена переменных соответствуют именам элементов и атрибутов.

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

пример

T = readtable(filename,opts) создает таблицу с помощью настроек импорта opts.

пример

T = readtable(___,Name,Value) создает таблицу из файла с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Для примера можно задать, readtable считывает первую строку файла как имена переменных или как данные.

Чтобы задать конкретные настройки импорта для ваших данных, можно либо использовать opts Объект или можно задать пары "имя-значение". Когда вы задаете пары "имя-значение" в дополнение к opts, затем readtable поддерживает только эти пары "имя-значение":

  • Параметры текста и электронных таблиц - ReadVariableNames, ReadRowNames

  • Параметры только текста - DateLocale, Encoding

  • Параметры только для электронных таблиц - Sheet, UseExcel

Примеры

свернуть все

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

filename = 'myCsvTable.dat';

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

T = readtable(filename)
T=5×6 table
      LastName      Gender    Age    Height    Weight    Smoker
    ____________    ______    ___    ______    ______    ______

    {'Smith'   }    {'M'}     38       71       176        1   
    {'Johnson' }    {'M'}     43       69       163        0   
    {'Williams'}    {'F'}     38       64       131        0   
    {'Jones'   }    {'F'}     40       67       133        0   
    {'Brown'   }    {'F'}     49       64       119        0   

Начиная с R2020a, readtable функция считывает файл входа, как будто автоматически вызывает detectImportOptions функцию в файле. Он может обнаруживать типы данных, отбрасывать дополнительные линии заголовка и заполнять отсутствующие значения.

Для примера предварительный просмотр файла headersAndMissing.txt в текстовом редакторе. Файл имеет линию с именами столбцов и другой линии с заголовками. Последние две строки имеют погрешности, где предыдущие строки имеют значения данных.

Составьте таблицу из файла. The readtable функция отбрасывает заголовки. Кроме того, он заполняет погрешности соответствующими отсутствующими значениями - NaN значение для числовых переменных и пустой символьный вектор для текста.

T = readtable('headersAndMissing.txt')
T=5×6 table
     LastName        Gender      Age    Height    Weight    Smoker
    ___________    __________    ___    ______    ______    ______

    {'Wu'     }    {'M'     }     38      71       176        1   
    {'Johnson'}    {'M'     }     43      69       163        0   
    {'Sanchez'}    {'F'     }     38      64       131        0   
    {'Brown'  }    {'F'     }    NaN      67       133        0   
    {'Picard' }    {0x0 char}    NaN      64       119        0   

Чтобы восстановить поведение по умолчанию из предыдущих релизов, задайте 'Format','auto' аргумент пары "имя-значение". readtable считывает заголовки как данные, и в результате все табличные переменные преобразуются в текст.

T = readtable('headersAndMissing.txt','Format','auto')
T=6×6 table
     LastName        Gender         Age        Height     Weight       Smoker   
    ___________    __________    __________    _______    _______    ___________

    {'string' }    {'string'}    {'int'   }    {'int'}    {'int'}    {'boolean'}
    {'Wu'     }    {'M'     }    {'38'    }    {'71' }    {'176'}    {'1'      }
    {'Johnson'}    {'M'     }    {'43'    }    {'69' }    {'163'}    {'0'      }
    {'Sanchez'}    {'F'     }    {'38'    }    {'64' }    {'131'}    {'0'      }
    {'Brown'  }    {'F'     }    {0x0 char}    {'67' }    {'133'}    {'0'      }
    {'Picard' }    {0x0 char}    {0x0 char}    {'64' }    {'119'}    {'0'      }

Для получения дополнительной информации см. раздел Вопросов совместимости» на этой странице.

Предварительный просмотр файла mySpaceDelimTable.txt в текстовом редакторе. Снимок экрана показан ниже. Заметьте, что файл содержит данные, ориентированные на столбцы, с разделителем пространство.

Составьте таблицу из текстового файла с разделителем пространство. The readtable функция присваивает имена переменных по умолчанию Var1 на Var5 поскольку файл не содержит обнаруживаемых имен столбцов в первой строке.

T = readtable('mySpaceDelimTable.txt')
T=3×5 table
    Var1     Var2    Var3     Var4       Var5   
    _____    ____    ____    ______    _________

    {'M'}     45      45     {'NY'}    {'true' }
    {'F'}     41      32     {'CA'}    {'false'}
    {'M'}     40      34     {'MA'}    {'false'}

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

filename = 'myCsvTable.dat';

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

T = readtable(filename,'Format','%s%s%u%f%f%s')
T=5×6 table
      LastName      Gender    Age    Height    Weight    Smoker
    ____________    ______    ___    ______    ______    ______

    {'Smith'   }    {'M'}     38       71       176      {'1'} 
    {'Johnson' }    {'M'}     43       69       163      {'0'} 
    {'Williams'}    {'F'}     38       64       131      {'0'} 
    {'Jones'   }    {'F'}     40       67       133      {'0'} 
    {'Brown'   }    {'F'}     49       64       119      {'0'} 

Спецификаторы преобразования %s для массива ячеек из векторов символов, %f для double, и %u для uint32.

Считывайте немецкие даты из файла и добавляйте их в таблицу как английские даты.

Предварительный просмотр файла german_dates.txt в текстовом редакторе. Снимок экрана показан ниже. Заметьте, что первый столбец значений содержит даты на немецком языке, а второй и третий столбцы являются числовыми значениями.

Прочтите образец файла с помощью readtable. Спецификаторы преобразования %D даты и %f для значений с плавающей точкой. Задайте кодировку файла, используя FileEncoding аргумент пары "имя-значение". Задайте формат и локаль дат с помощью DateLocale аргумент пары "имя-значение".

T = readtable('german_dates.txt',...
    'Format','%{dd MMMM yyyy}D %f %f',...
    'FileEncoding','ISO-8859-15',...
    'DateLocale','de_DE')
T=3×3 table
          Var1          Var2    Var3 
    ________________    ____    _____

     01 January 2014    20.2    100.5
    01 February 2014    21.6    102.7
       01 March 2014    20.7     99.8

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

T = readtable('patients.xls','ReadRowNames',true);

Отобразите первые пять строк и первые четыре переменные таблицы.

T(1:5,1:4)
ans=5×4 table
                  Gender      Age              Location               Height
                __________    ___    _____________________________    ______

    Smith       {'Male'  }    38     {'County General Hospital'  }      71  
    Johnson     {'Male'  }    43     {'VA Hospital'              }      69  
    Williams    {'Female'}    38     {'St. Mary's Medical Center'}      64  
    Jones       {'Female'}    40     {'VA Hospital'              }      67  
    Brown       {'Female'}    49     {'County General Hospital'  }      64  

Просмотрите DimensionNames свойство таблицы.

T.Properties.DimensionNames
ans = 1x2 cell
    {'LastName'}    {'Variables'}

'LastName' - имя в первом столбце первой строки электронной таблицы.

Составьте таблицу с использованием данных из заданной области электронной таблицы patients.xls. Используйте данные прямоугольной области 5 на 3 между углами C2 и E6. Не используйте первую строку этой области в качестве имен переменных.

T = readtable('patients.xls',...
    'Range','C2:E6',...
    'ReadVariableNames',false)
T = 

    Var1               Var2                Var3
    ____    ___________________________    ____

    38      'County General Hospital'      71  
    43      'VA Hospital'                  69  
    38      'St. Mary's Medical Center'    64  
    40      'VA Hospital'                  67  
    49      'County General Hospital'      64  

T содержит имена переменных по умолчанию.

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

Создайте объект настроек импорта из текстового файла.

opts = detectImportOptions('airlinesmall.csv')
opts = 
  DelimitedTextImportOptions with properties:

   Format Properties:
                    Delimiter: {','}
                   Whitespace: '\b\t '
                   LineEnding: {'\n'  '\r'  '\r\n'}
                 CommentStyle: {}
    ConsecutiveDelimitersRule: 'split'
        LeadingDelimitersRule: 'keep'
       TrailingDelimitersRule: 'ignore'
                EmptyLineRule: 'skip'
                     Encoding: 'ISO-8859-1'

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'
             ExtraColumnsRule: 'addvars'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
                VariableTypes: {'double', 'double', 'double' ... and 26 more}
        SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
              VariableOptions: Show all 29 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Location Properties:
                    DataLines: [2 Inf]
            VariableNamesLine: 1
               RowNamesColumn: 0
            VariableUnitsLine: 0
     VariableDescriptionsLine: 0 
	To display a preview of the table, use preview

Исследуйте Type свойство переменных TaxiIn и TaxiOut.

getvaropts(opts,{'TaxiIn','TaxiOut'})
ans = 
  1x2 TextVariableImportOptions array with properties:

    Name
    Type
    FillValue
    TreatAsMissing
    QuoteRule
    Prefixes
    Suffixes
    EmptyFieldRule
    WhitespaceRule

Измените тип переменных TaxiIn и TaxiOut на double.

 opts = setvartype(opts,{'TaxiIn','TaxiOut'},'double');

Укажите подмножество переменных для импорта и исследования.

opts.SelectedVariableNames = {'TaxiIn','TaxiOut'};

Используйте readtable функция вместе с объектом опции для импорта выбранных переменных. Отображение сводных данных по таблице.

T = readtable('airlinesmall.csv',opts);
summary(T)
Variables:

    TaxiIn: 123523x1 double

        Values:

            Min             0      
            Median          5      
            Max             1451   
            NumMissing      37383  

    TaxiOut: 123523x1 double

        Values:

            Min             0      
            Median          13     
            Max             755    
            NumMissing      37364  

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

Создайте объект настроек импорта из файла.

opts = detectImportOptions('patients.xls')
opts = 
  SpreadsheetImportOptions with properties:

   Sheet Properties:
                        Sheet: ''

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
                VariableTypes: {'char', 'char', 'double' ... and 7 more}
        SelectedVariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
              VariableOptions: Show all 10 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Range Properties:
                    DataRange: 'A2' (Start Cell)
           VariableNamesRange: 'A1'
                RowNamesRange: ''
           VariableUnitsRange: ''
    VariableDescriptionsRange: '' 
	To display a preview of the table, use preview

Измените объект опции, чтобы указать, какие переменные нужно импортировать.

opts.SelectedVariableNames = {'Systolic','Diastolic'};

Использование readtable наряду с объектом опции для импорта заданных переменных.

T = readtable('patients.xls',opts);
summary(T)
Variables:

    Systolic: 100x1 double

        Values:

            Min         109   
            Median      122   
            Max         138   

    Diastolic: 100x1 double

        Values:

            Min           68  
            Median      81.5  
            Max           99  

Можно считать табличные данные с сохранением имен переменных, содержащих любые символы, включая пространства и символы, отличные от ASCII. Сначала создайте таблицу с произвольными именами переменных и запишите таблицу в текстовый файл. Затем считайте табличные данные назад с сохранением исходных имен переменных.

Создайте таблицу, содержащую произвольные имена переменных, и запишите табличные данные в файл 'sampletable.txt'.

LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
varNames = {'Last Name','Age','Smoker (1 or 0)'};
T = table(LastName,Age,Smoker,'VariableNames',varNames)
T=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38          true      
    {'Johnson'}    43          false     
    {'Li'     }    38          true      
    {'Diaz'   }    40          false     
    {'Brown'  }    49          true      

writetable(T,'sampletable.txt')

Чтение табличных данных назад с помощью readtable. По умолчанию MATLAB ® преобразует все имена переменных, которые включают пространства и символы, отличные от ASCII, в действительные идентификаторы MATLAB ®. Например, MATLAB ® преобразует имена переменных 'Last Name' на 'LastName', и 'Smoker (1 or 0)' на 'Smoker_1or0_'. Чтобы считать табличные данные при сохранении имен переменных, установите 'VariableNamingRule' параметр в preserve.

T_preserve = readtable('sampletable.txt',"VariableNamingRule","preserve")
T_preserve=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38            1       
    {'Johnson'}    43            0       
    {'Li'     }    38            1       
    {'Diaz'   }    40            0       
    {'Brown'  }    49            1       

Можно считать шестнадцатеричные и двоичные числа из файла и хранить их как числовые переменные в таблице. The readtable функция автоматически считывает шестнадцатеричные и двоичные числа, когда они включают 0x и 0b префиксы соответственно. Числовые значения хранятся с использованием целочисленных типов данных. Можно также использовать настройки импорта, чтобы считать такие номера, когда они не имеют префиксов.

Предварительный просмотр hexAndBinary.txt файл в текстовом редакторе. Он имеет столбцы шестнадцатеричных и двоичных чисел с префиксами, и один столбец без.

Чтение файла осуществляется с помощью readtable. Функция обнаруживает числа с 0x и 0b префиксы и сохранение их в виде целых чисел. Третий столбец не имеет префиксов, поэтому его значения рассматриваются как текст.

T = readtable('hexAndBinary.txt')
T=3×4 table
    Var1     Var2      Var3         Var4    
    _____    ____    ________    ___________

      255    255     {'C7F9'}    {'Device1'}
      256      4     {'05BF'}    {'Device2'}
    43981    129     {'F00F'}    {'Device3'}

The readtable функция сохраняет числовые значения в различных целочисленных классах (uint16 и uint8) потому что T.Var1 имеет значение, которое требует более 8 бит памяти.

class(T.Var1)
ans = 
'uint16'
class(T.Var2)
ans = 
'uint8'

Чтобы задать типы данных для хранения числовых значений, импортированных из шестнадцатеричных и двоичных чисел, используйте 'HexType' и 'BinaryType' Аргументы пары "имя-значение". Сохраните значения в виде 32-битных целых чисел со знаком.

T = readtable('hexAndBinary.txt','HexType','int32','BinaryType','int32');
class(T.Var1)
ans = 
'int32'
class(T.Var2)
ans = 
'int32'

Можно использовать настройки импорта, чтобы обнаружить шестнадцатеричные и двоичные номера без префиксов и указать для них хранилище. Создайте объект настроек импорта для hexAndBinary.txt.

opts = detectImportOptions('hexAndBinary.txt')
opts = 
  DelimitedTextImportOptions with properties:

   Format Properties:
                    Delimiter: {','}
                   Whitespace: '\b\t '
                   LineEnding: {'\n'  '\r'  '\r\n'}
                 CommentStyle: {}
    ConsecutiveDelimitersRule: 'split'
        LeadingDelimitersRule: 'keep'
       TrailingDelimitersRule: 'ignore'
                EmptyLineRule: 'skip'
                     Encoding: 'UTF-8'

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'
             ExtraColumnsRule: 'addvars'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
                VariableTypes: {'auto', 'auto', 'char' ... and 1 more}
        SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
              VariableOptions: Show all 4 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Location Properties:
                    DataLines: [1 Inf]
            VariableNamesLine: 0
               RowNamesColumn: 0
            VariableUnitsLine: 0
     VariableDescriptionsLine: 0 
	To display a preview of the table, use preview

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

opts = setvaropts(opts,3,'NumberSystem','hex','Type','int32')
opts = 
  DelimitedTextImportOptions with properties:

   Format Properties:
                    Delimiter: {','}
                   Whitespace: '\b\t '
                   LineEnding: {'\n'  '\r'  '\r\n'}
                 CommentStyle: {}
    ConsecutiveDelimitersRule: 'split'
        LeadingDelimitersRule: 'keep'
       TrailingDelimitersRule: 'ignore'
                EmptyLineRule: 'skip'
                     Encoding: 'UTF-8'

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'
             ExtraColumnsRule: 'addvars'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
                VariableTypes: {'auto', 'auto', 'int32' ... and 1 more}
        SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
              VariableOptions: Show all 4 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Location Properties:
                    DataLines: [1 Inf]
            VariableNamesLine: 0
               RowNamesColumn: 0
            VariableUnitsLine: 0
     VariableDescriptionsLine: 0 
	To display a preview of the table, use preview

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

T = readtable('hexAndBinary.txt',opts)
T=3×4 table
    Var1     Var2    Var3        Var4    
    _____    ____    _____    ___________

      255    255     51193    {'Device1'}
      256      4      1471    {'Device2'}
    43981    129     61455    {'Device3'}

Создайте XML- настройки импорта для XML- файл, укажите переменные для импорта, а затем прочитайте данные.

Файл XML students.xml имеет четыре одноуровневых узла с именем Student, каждый из которых содержит одни и те же дочерние узлы и атрибуты.

type students.xml
<?xml version="1.0" encoding="utf-8"?>
<Students>
    <Student ID="S11305">
        <Name FirstName="Priya" LastName="Thompson" />
        <Age>18</Age>
        <Year>Freshman</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">591 Spring Lane</Street>
            <City>Natick</City>
            <State>MA</State>
      </Address>
      <Major>Computer Science</Major>
      <Minor>English Literature</Minor>
   </Student>
   <Student ID="S23451">
        <Name FirstName="Conor" LastName="Cole" />
        <Age>18</Age>
        <Year>Freshman</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">4641 Pearl Street</Street>
            <City>San Francisco</City>
            <State>CA</State>
        </Address>
        <Major>Microbiology</Major>
        <Minor>Public Health</Minor>
    </Student>
    <Student ID="S119323">
        <Name FirstName="Morgan" LastName="Yang" />
        <Age>21</Age>
        <Year>Senior</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">30 Highland Road</Street>
            <City>Detriot</City>
            <State>MI</State>
        </Address>
        <Major>Political Science</Major>
   </Student>
   <Student ID="S201351">
        <Name FirstName="Salim" LastName="Copeland" />
        <Age>19</Age>
        <Year>Sophomore</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">3388 Moore Avenue</Street>
            <City>Fort Worth</City>
            <State>TX</State>
        </Address>
        <Major>Business</Major>
        <Minor>Japanese Language</Minor>
   </Student>
   <Student ID="S201351">
        <Name FirstName="Salim" LastName="Copeland" />
        <Age>20</Age>
        <Year>Sophomore</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">3388 Moore Avenue</Street>
            <City>Fort Worth</City>
            <State>TX</State>
        </Address>
        <Major>Business</Major>
        <Minor>Japanese Language</Minor>
    </Student>
    <Student ID="54600">
        <Name FirstName="Dania" LastName="Burt" />
        <Age>22</Age>
        <Year>Senior</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">22 Angie Drive</Street>
            <City>Los Angeles</City>
            <State>CA</State>
        </Address>
        <Major>Mechanical Engineering</Major>
        <Minor>Architecture</Minor>
   </Student>
    <Student ID="453197">
        <Name FirstName="Rikki" LastName="Gunn" />
        <Age>21</Age>
        <Year>Junior</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">65 Decatur Lane</Street>
            <City>Trenton</City>
            <State>ME</State>
        </Address>
        <Major>Economics</Major>
        <Minor>Art History</Minor>
   </Student>
</Students>

Создайте XMLImportOptions объект из файла. Задайте значение VariableSelectors как //@FirstName для выбора FirstName узел элемента для импорта в виде табличной переменной.

opts = xmlImportOptions("VariableSelectors","//@FirstName")
opts = 
  XMLImportOptions with properties:

   Replacement Properties:
                     MissingRule: "fill"
                 ImportErrorRule: "fill"
                RepeatedNodeRule: "addcol"

   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: <missing>
                     RowSelector: <missing>
               VariableSelectors: "//@FirstName"
           VariableUnitsSelector: <missing>
    VariableDescriptionsSelector: <missing>
                RowNamesSelector: <missing>
            RegisteredNamespaces: [0x2 string]

Использование readtable наряду с объектом опции для импорта указанной переменной.

T = readtable("students.xml",opts)
T=7×1 table
       Var1   
    __________

    {'Priya' }
    {'Conor' }
    {'Morgan'}
    {'Salim' }
    {'Salim' }
    {'Dania' }
    {'Rikki' }

Зарегистрируйте пользовательский префикс пространства имен XML на существующий URL-адрес пространства имен в файле входа с помощью RegisteredNamespaces аргумент имя-значение.

Создайте XMLImportOptions объект из XML- файл. Задайте выражение XPath Street узел элемента как значение 'VariableSelectors', и зарегистрировать префикс myPrefix к URL-адресу, принадлежащему Street узел.

opts = detectImportOptions("students.xml","RegisteredNamespaces", ["myPrefix","https://www.mathworks.com"],...
    "VariableSelectors","//myPrefix:Street")
opts = 
  XMLImportOptions with properties:

   Replacement Properties:
                     MissingRule: "fill"
                 ImportErrorRule: "fill"
                RepeatedNodeRule: "addcol"

   Variable Import Properties: Set types by name using setvartype
                   VariableNames: "Street"
                   VariableTypes: "string"
           SelectedVariableNames: "Street"
                 VariableOptions: Show all 1 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
              VariableNamingRule: "preserve"

   Location Properties:
                   TableSelector: <missing>
                     RowSelector: <missing>
               VariableSelectors: "//myPrefix:Street"
           VariableUnitsSelector: <missing>
    VariableDescriptionsSelector: <missing>
                RowNamesSelector: <missing>
            RegisteredNamespaces: ["myPrefix"    "https://www.mathworks.com"]

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

T2 = readtable("students.xml",opts)
T2=7×1 table
          Street       
    ___________________

    "591 Spring Lane"  
    "4641 Pearl Street"
    "30 Highland Road" 
    "3388 Moore Avenue"
    "3388 Moore Avenue"
    "22 Angie Drive"   
    "65 Decatur Lane"  

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

свернуть все

Имя считываемого файла, заданное как вектор символов или строковый скаляр.

В зависимости от местоположения вашего файла, filename может принять одну из этих форм.

Местоположение

Форма

Текущая папка или папка на MATLAB® путь

Укажите имя файла в filename.

Пример: 'myFile.txt'

Файл в папке

Если файл находится не в текущей папке или в папке на пути MATLAB, задайте полное или относительное имя пути в filename.

Пример: 'C:\myFolder\myFile.xlsx'

Пример: 'dataDir\myFile.txt'

URL-адрес Интернета

Если файл задан как однородный интернет-локатор ресурсов (URL), то filename должен содержать тип протокола 'http://' или 'https://'.

Пример: 'http://hostname/path_to_file/my_data.csv'

Удаленное местоположение

Если файл хранится в удаленном местоположении, то filename должен содержать полный путь к файлу, указанному в форме:

scheme_name://path_to_file/ my_file.ext

Исходя из удаленного местоположения, scheme_name может быть одним из значений в этой таблице.

Удаленное местоположениеscheme_name
Амазонки S3™s3
Windows Azure® Хранилище больших двоичных объектовwasb, wasbs
HDFS™hdfs

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

Пример: 's3://bucketname/path_to_file/my_file.csv'

  • Если filename включает расширение файла, затем функция импорта определяет формат файла из расширения. В противном случае необходимо задать 'FileType' аргументы пары "имя-значение" для указания типа файла.

  • В Windows® систем с Microsoft® Excel® ПО, функция импорта считывает любой формат файла электронной таблицы Excel, распознанный вашей версией Excel.

  • Если в вашей системе нет Excel для Windows или если вы используете Online™ MATLAB, функция импорта работает с UseExcel значение свойства установлено в false, и читается только .xls, .xlsx, .xlsm, .xltx, and .xltm файлы.

  • Для текстовых файлов с разделителями функция импорта преобразует пустые поля в файле в NaN (для числовой переменной) или пустой символьный вектор (для текстовой переменной). Все линии в текстовом файле должны иметь одинаковое количество разделителей. Функция импорта игнорирует незначительное пустое пространство в файле.

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

Настройки импорта файлов, заданные как SpreadsheetImportOptions, DelimitedTextImportOptions, FixedWidthImportOptions, или XMLImportOptions объект, созданный detectImportOptions функция. The opts объект содержит свойства, которые управляют процессом импорта данных. Для получения дополнительной информации о свойствах каждого объекта см. соответствующую страницу объекта.

Тип файловВыход
Файлы электронной таблицыSpreadsheetImportOptions объект (доступен только для Sheet, DataRange, и VariableNames свойства)
Текстовые файлыDelimitedTextImportOptions объект
Текстовые файлы фиксированной шириныFixedWidthImportOptions объект
XML- файлыXMLImportOptions объект

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

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

Пример: 'ReadVariableNames',false указывает, что первая строка файла не соответствует именам переменных.
Все поддерживаемые типы файлов

свернуть все

Тип файла, заданный как разделенная разделенными запятой парами, состоящая из 'FileType' и одно из этих значений.

ЗначениеНастройки импорта для файла
'spreadsheet'

Верните SpreadsheetImportOptions объект.

'text'

Верните DelimitedTextImportOptions или FixedWidthImportOptions объект в зависимости от размещения текстового файла.

'delimitedtext'

Верните DelimitedTextImportOptions объект. Используйте эту опцию для текстовых файлов, столбцы которых разделены разделителями.

'fixedwidth'

Верните FixedWidthImportOptions объект. Используйте эту опцию для текстовых файлов с столбцами фиксированной ширины.

'xml'

Возврат XMLImportOptions объект. Используйте эту опцию для файлов XML.

Используйте 'FileType' аргумент пары "имя-значение" при filename не включает расширение файла или когда расширение не является одним из следующих:

  • .txt, .dat, или .csv для текстовых файлов

  • .xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, или .ods для файлов электронной таблицы

  • .xml, для XML- файлы

Пример: 'FileType','text'

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

Индикатор для чтения первого столбца в виде имен строк, заданный как разделенная разделенными запятой парами, состоящая из 'ReadRowNames' и любой из них false, true, 0, или 1.

Индикатор

Описание

false

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

true

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

неуказанныйКогда не задано, readtable принимает false.

Примечание: Если оба 'ReadVariableNames' и 'ReadRowNames' логические индикаторы true, затем readtable сохраняет имя в первом столбце первой строки области в качестве первого имени размерности в свойстве, T.Properties.DimensionNames.

Если вы задаете ReadRowNames аргумент в дополнение к opts опции импорта, затем readtable изменения поведения на основе спецификации:

  • Если ReadRowNames является true, затем считайте имена строк из указанного файла с помощью RowNamesRange или RowNameColumn свойство объекта настроек импорта.

  • Если ReadRowNames является false, тогда не импортируйте имена строк.

Текст-заполнитель для обработки как пустого значения, заданный как разделенная разделенными запятой парами, состоящая из 'TreatAsMissing' и вектор символов, массив ячеек из векторов символов, строковых или строковых массивов. Элементы таблицы, соответствующие этим символам, установлены в NaN.

'TreatAsMissing' применяется только к числовым столбцам в файле, и readtable не принимает числовые литералы, такие как '-99'.

Пример: 'TreatAsMissing','N/A' или 'TreatAsMissing',"N/A" устанавливает N/A в числовых столбцах, чтобы NaN.

Пример: 'TreatAsMissing',{'.','NA','N/A'} или 'TreatAsMissing',[".","NA","N/A"] устанавливает ., NA и N/A в числовых столбцах, чтобы NaN.

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

Тип для импортированных текстовых данных, заданный как разделенная разделенными запятой парами, состоящая из 'TextType' и любой из них 'char' или 'string'.

  • 'char' - Импортируйте текстовые данные в MATLAB как векторы символов.

  • 'string' - Импорт текстовых данных в MATLAB в виде строковых массивов.

Пример: 'TextType','char'

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

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

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

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

'text'

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

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

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

'exceldatenum'

Серийные номера дат Excel

Серийный номер даты - это одно число, равное количеству дней с заданной контрольной даты. Серийные номера дат Excel используют иную ссылочную дату, чем серийные номера дат MATLAB. Для получения дополнительной информации о датах Excel смотрите https://support.microsoft.com/en-us/kb/214330.

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

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

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

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

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

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

Текст и Файлы электронной таблицы

свернуть все

Индикатор для чтения первой строки как имен переменных, заданный как разделенная разделенными запятой парами, состоящая из 'ReadVariableNames' и любой из них true, false, 1, или 0. Если не задано, readtable автоматически определяет наличие имен переменных.

Индикатор

Описание

true

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

false

Используйте, когда первая считываемая строка области содержит данные в таблице. readtable создает имена переменных формы по умолчанию 'Var1',...,'VarN', где N - количество переменных.

неуказанный Когда не задано, readtable автоматически обнаруживает true или false и протекает соответственно.

Примечание: Если оба 'ReadVariableNames' и 'ReadRowNames' логические индикаторы true, затем readtable сохраняет имя в первом столбце первой строки области в качестве первого имени размерности в свойстве, T.Properties.DimensionNames.

Если вы задаете ReadVariableNames аргумент в дополнение к opts а настройки импорта, затем readtable изменения поведения на основе спецификации:

  • Если ReadVariableNames является true, затем считайте имена переменных из указанного файла с помощью VariableNamesRange или VariableNamesLine свойство объекта настроек импорта.

  • Если ReadVariableNames является false, затем считайте имена переменных из VariableNames свойство объекта настроек импорта.

Текстовые файлы только

свернуть все

Символ разделителя полей, заданный как разделенная разделенными запятой парами, состоящая из 'Delimiter' и вектор символов, массив ячеек из векторов символов или строка. Задайте Delimiter использование любого допустимого символа, такого как запятая ',' или период '.'.

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

Спецификатор

Разделитель полей

','

'comma'

Запятая

' '

'space'

Пространство

'\t'

'tab'

Вкладка

';'

'semi'

Точка с запятой

'|'

'bar'

Вертикальный брус

неуказанный

Если не задано, readtable автоматически обнаруживает разделитель.

Чтобы рассматривать последовательные разделители как один разделитель, задайте Delimiter как массив ячеек из векторов символов. В сложение необходимо также задать MultipleDelimsAsOne опция.

Пример: 'Delimiter',',' или 'Delimiter','comma'

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

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

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

Формат столбца файла, заданный как разделенная разделенными запятой парами, состоящая из 'Format' и вектор символов или строковый скаляр, имеющий один или несколько спецификаторов преобразования, или 'auto'. Спецификаторы преобразования те же, что и спецификаторы, принятые textscan функция.

Определение формата может значительно улучшить скорость для некоторых больших файлов. Если вы не задаете значение для Format, затем readtable использует %q для интерпретации нечисловых столбцов. The %q спецификатор читает текст и опускает двойные кавычки (") при необходимости.

  • Если вы не задаете 'Format' Пара "имя-значение", затем readtable функция ведет себя так, как будто вы использовали результаты detectImportOptions функция для импорта данных. Для получения дополнительной информации о последствиях этого поведения см. «Вопросы совместимости».

  • Если вы задаете 'Format','auto', затем создаются переменные double массивы, массив ячеек из векторов символов или datetime массивы, в зависимости от данных. Если весь столбец является числовым, переменные импортируются как double. Если какой-либо элемент в столбце не является числовым, переменные импортируются как массивы ячеек векторов символов или как datetime массивы, если значения представляют даты и времена.

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

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

Множественная обработка разделителя, заданная как разделенная разделенными запятой парами, состоящая из 'MultipleDelimsAsOne' и любой из них true или false. Если trueзатем функция импорта обрабатывает последовательные разделители как один разделитель. Повторные разделители, разделенные пустым пространством, также рассматриваются как один разделитель. Вы также должны задать Delimiter опция.

Пример: 'MultipleDelimsAsOne',1

Логический индикатор, определяющий конкатенацию данных, задается как разделенная разделенными запятой парами, состоящая из 'CollectOutput' и любой из них true или false. Если trueзатем функция импорта объединяет последовательные выходные камеры того же основного класса MATLAB в один массив.

Символы, обозначающие текст, который нужно игнорировать, заданные как разделенная разделенными запятой парами, состоящая из 'CommentStyle' и вектор символов, массив ячеек из векторов символов, строковых или строковых массивов.

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

MATLAB проверяет комментарии только в начале каждого поля, а не в пределах поля.

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

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

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

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

Символы в конце строки, заданные как разделенная разделенными запятой парами, состоящая из 'LineEnding' и вектор символов или строка. Вектор символов должен быть '\r\n' или должен указывать один символ. Общие символы в конце строки являются символом новой строки ('\n') или возврат каретки ('\r'). Если вы задаете '\r\n', затем функция импорта обрабатывает любое из \r, \n, и комбинация двух (\r\n) в виде символов в конце строки.

Последовательность по умолчанию для конца линии \n, \r, или \r\n, в зависимости от содержимого файла.

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

Пример: 'LineEnding',':'

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

Локаль для дат чтения, заданная как разделенная разделенными запятой парами, состоящая из 'DateLocale' и вектор символов или строковый скаляр вида xx_ YY, где:

  • YY - заглавный код ISO 3166-1 альфа-2, указывающий страну.

  • xx представляет собой строчный двухбуквенный код ISO 639-1, указывающий на язык.

Список общих значений для локали см. в Locale аргумент пары "имя-значение" для datetime функция.

При использовании %D спецификатор формата для чтения текста как datetime значения, использование DateLocale для определения локали, в которой функция импорта должна интерпретировать имена месяцев и дней недели и сокращений.

Если вы задаете DateLocale аргумент в дополнение к opts Настройки импорта, тогда функция импорта использует заданное значение для DateLocale аргумент, переопределяющий локаль, заданный в настройках импорта.

Пример: 'DateLocale','ja_JP'

Схема кодирования символов, сопоставленная с файлом, задается как разделенная разделенными запятой парами, состоящая из 'Encoding' и 'system' или стандартное имя схемы кодирования символов. Когда вы не задаете никакую кодировку, readtable функция использует автоматическое обнаружение набора символов, чтобы определить кодировку при чтении файла.

Если вы задаете 'Encoding' аргумент в дополнение к настройкам импорта, затем readtable функция использует заданное значение для 'Encoding', переопределяющая кодировку, заданную в настройках импорта.

Пример: 'Encoding','UTF-8' использует UTF-8 в качестве кодировки.

Пример: 'Encoding','system' использует системную кодировку по умолчанию.

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

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

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

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

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

'text'

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

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

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

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

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

Входной файл представляет шестнадцатеричные значения в виде текста, используя либо 0x или 0X в виде префикса и символов 0- 9, a- f, и A- F в виде цифр. (Прописные и строчные буквы представляют одни и те же цифры - например '0xf' и '0xF' оба представляют 15.)

Функция импорта преобразует шестнадцатеричные значения в тип данных, заданный значением 'HexType'.

Значение 'HexType'

Тип данных Выходов Табличных переменных

'auto'

тип данных обнаружен автоматически

'text'

неизмененный входной текст

'int8'

8-битное целое число, со знаком

'int16'

16-битное целое число, со знаком

'int32'

32-битное целое число, со знаком

'int64'

64-битное целое число, со знаком

'uint8'

8-битное целое число, без знака

'uint16'

16-битное целое число, без знака

'uint32'

32-битное целое число, без знака

'uint64'

64-битное целое число, без знака

Пример: 'HexType','uint16' преобразует текст, представляющий шестнадцатеричные значения (такие как '0xFF') беззнаковым 16-битным целым числам (таким как 255) в выход таблице.

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

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

Входной файл представляет двоичные значения как текст, используя любой из 0b или 0B в виде префикса и символов 0 и 1 в виде цифр.

Функция импорта преобразует двоичные значения в тип данных, заданный значением 'BinaryType'.

Значение 'BinaryType'

Тип данных Выходов Табличных переменных

'auto'

тип данных обнаружен автоматически

'text'

неизмененный входной текст

'int8'

8-битное целое число, со знаком

'int16'

16-битное целое число, со знаком

'int32'

32-битное целое число, со знаком

'int64'

64-битное целое число, со знаком

'uint8'

8-битное целое число, без знака

'uint16'

16-битное целое число, без знака

'uint32'

32-битное целое число, без знака

'uint64'

64-битное целое число, без знака

Пример: 'BinaryType','uint16' преобразует текст, представляющий двоичные значения (такие как '0b11111111') беззнаковым 16-битным целым числам (таким как 255) в выход таблице.

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

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

Пример: Если пара "имя-значение" задана как 'TrimNonNumeric',true, затем функция импорта читает '$500/-' как 500.

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

Только файлы электронной таблицы

свернуть все

Считываемый лист, заданный как разделенная разделенными запятой парами, состоящая из 'Sheet' и положительное целое число, указывающее индекс листа или вектор символов или строку, содержащую имя листа. Имя листа не может содержать двоеточие (:). Для определения имен листов в файле электронной таблицы используйте sheets = sheetnames(filename). Для получения дополнительной информации см. sheetnames.

Если вы задаете Sheet аргумент в дополнение к opts а настройки импорта, затем readtable функция использует заданное значение для Sheet аргумент, переопределяющий имя листа, заданное в настройках импорта.

Пример: 'Sheet', 2

Пример: 'Sheet', 'MySheetName'

Пример: 'Sheet', "MySheetName"

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

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

Способы задать Range Описание
  

'Cell' или [row col]

Стартовая камера

Задайте стартовую камеру для данных в виде вектора символов или строкового скаляра или двухчислового элемента.

  • Вектор символов или строковый скаляр, содержащий букву столбца и номер строки с помощью A1 Excel обозначение. Для примера, A5 - идентификатор камеры на пересечении столбца A и строку 5.

  • Два элемента числовых вектора вида [row col] указание начальной строки и столбца.

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

Пример: 'A5' или [5 1]

'Corner1:Corner2'

Прямоугольная область значений

Задайте область значений с помощью синтаксиса 'Corner1:Corner2', где Corner1 и Corner2 являются двумя противоположными углами, которые определяют область. Для примера, 'D2:H4' представляет прямоугольную область 3 на 5 между двумя углами D2 и H4 на листе. The 'Range' аргумент пары "имя-значение" не учитывает регистр и использует стиль ссылки A1 Excel (см. справку Excel).

Пример: 'Range','Corner1:Corner2'

''

Не заданные или пустые

Если не задано, readtable автоматически определяет используемую область значений.

Пример: 'Range',''

Примечание: Used Range относится к прямоугольному фрагменту электронной таблицы, которая на самом деле содержит данные. readtable автоматически обнаруживает используемую область значений путем обрезки всех начальных и конечных строк и столбцов, которые не содержат данных. Текст, который является только белым пространством, рассматривается как данные и захватывается в пределах используемой области значений.

'Row1:Row2'

Область значений строк

Можно идентифицировать область значений, задав начальную и конечную строки с помощью обозначений строк Excel. Затем readtable автоматически определяет используемую область значений столбцов в обозначенных строках. Для образца, readtable интерпретирует спецификацию области значений '1:7' как инструкция для чтения всех столбцов в используемой области значений в строках с 1 по 7 (включительно).

Пример: 'Range','1:7'

'Column1:Column2'

Область значений столбцов

Можно идентифицировать область значений, задав начальный и конечный столбцы с помощью обозначений столбцов Excel. Затем readtable автоматически определяет используемую область значений строк в обозначенных столбцах. Для образца, readtable интерпретирует спецификацию области значений 'A:F' как инструкция для чтения всех строк в используемой области значений в столбцах A-F (включительно).

Пример: 'Range','A:F'

'NamedRange'

Именованная область значений в Excel

В Excel можно создать имена для идентификации областей значений в электронной таблице. Например, можно выбрать прямоугольный фрагмент электронной таблицы и вызвать ее 'myTable'. Если такие именованные области значений существуют в электронной таблице, то readtable можно считать эту область значений, используя его имя.

Пример: 'Range','myTable'

Пример: 'Range', 'A1:F10'

Пример: 'Range', "A1:F10"

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

Флаг для запуска образца Microsoft Excel для Windows при чтении данных электронных таблиц, заданный как разделенная разделенными запятой парами, состоящая из 'UseExcel' и любой из них true, или false.

Можно задать 'UseExcel' параметр к одному из следующих значений:

  • true - функция импорта запускает образец Microsoft Excel при чтении файла.

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

UseExcel

true

false

Поддерживаемые форматы файлов

.xls, .xlsx, .xlsm, .xltx, .xltm, .xlsb, .ods

.xls, .xlsx, .xlsm, .xltx, .xltm

Поддержка интерактивных функций, таких как формулы и макросы

Да

Нет

При чтении из файлов электронной таблицы на платформах Windows, если необходимо запустить образец Microsoft Excel, установите 'UseExcel' параметр в true.

Только XML- Файлы

свернуть все

Суффикс атрибута, заданный как разделенная разделенными запятой парами, состоящая из 'AttributeSuffix' и либо вектор символов, либо строковый скаляр. Этот аргумент задает суффикс, который функция чтения добавляет ко всем табличным переменным, которые соответствуют атрибутам в вход XML- файлу. Если вы не задаете 'AttributeSuffix'затем функция чтения по умолчанию добавляет суффикс 'Attribute' ко всем именам переменных, соответствующим атрибутам в вход XML- файл.

Пример: 'AttributeSuffix','_att'

Атрибуты импорта, заданные как разделенная разделенными запятой парами, состоящая из 'ImportAttributes' и любой из них 1 (true) или 0 (false). Если вы задаете falseтогда функция чтения не импортирует XML-атрибуты в файл входа как переменные в таблице выходы.

Пример: 'ImportAttributes',false

Имя узла строки таблицы XML, заданное как разделенная запятой пара, состоящее из 'RowNodeName' и либо вектор символов, либо строковый скаляр. Этот аргумент задает имя узла XML, которое определяет строки таблицы выхода.

Пример: 'RowNodeName','XMLNodeName'

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

Пример: 'RowSelector','/RootNode/ChildNode'

Табличные переменные XML- узел имена, заданные как разделенная запятой пара, состоящие из 'VariableNodeNames' и массив ячеек с векторами символов или строковыми массивами. Этот аргумент задает имя узла XML, которое функция чтения использует для идентификации XML- узлов, считываемого как переменные в выход таблице.

Пример: 'VariableNodeNames',{'XMLNodeName1','XMLNodeName2'}

Пример: 'VariableNodeNames',"XMLNodeName"

Пример: 'VariableNodeNames',["XMLNodeName1","XMLNodeName2"]

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

Пример: 'VariableSelectors',{'/RootNode/ChildNode'}

Пример: 'VariableSelectors',"/RootNode/ChildNode"

Пример: 'VariableSelectors',["/RootNode/ChildNode1","/RootNode/ChildNode2"]

Имя узла таблицы XML, заданное как разделенная запятой пара, состоящее из 'TableNodeName' и либо вектор символов, либо строковый скаляр. Этот аргумент задает узел в структуре входа, который функция чтения должна считать в таблицу.

Пример: 'TableNodeName','NodeName'

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

Пример: 'TableSelector','/RootNode/ChildNode'

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

Пример: 'VariableUnitsSelector','/RootNode/ChildNode'

Описание переменной XPath выражение, заданное как вектор символов или строковый скаляр, который читается функцией чтения, используется для выбора описаний табличных переменных. Вы должны задать VariableDescriptionsSelector как допустимое выражение XPath версии 1.0.

Пример: 'VariableDescriptionsSelector','/RootNode/ChildNode'

Строка таблицы называет выражение XPath, заданное в виде вектора символов или строкового скаляра, который функция чтения использует для выбора имен строк таблицы. Вы должны задать RowNamesSelector как допустимое выражение XPath версии 1.0.

Пример: 'RowNamesSelector','/RootNode/ChildNode'

Процедура обработки повторяющихся XML- узлы в заданной строке таблицы, заданная как 'addcol', 'ignore', или 'error'.

Повторное правило узла

Поведение

'addcol'

Добавьте столбцы для повторяющихся узлов под заголовком переменной в таблице. Определение значения 'RepeatedNodeRule' как 'addcol' не создает отдельную переменную в таблице для повторяющегося узла.

'ignore'

Пропустите импорт повторяющихся узлов.

'error'Отображение сообщения об ошибке и прекращение операции импорта.

Пример: 'RepeatedNodeRule','ignore'

Набор зарегистрированных префиксов пространства имен XML, заданный как разделенная разделенными запятой парами, состоящая из RegisteredNamespaces и массив префиксов. Функция чтения использует эти префиксы при вычислении выражений XPath в XML- файл. Задайте префиксы пространства имен и связанные с ними URL-адреса как Nx2 строковые массивы. RegisteredNamespaces может использоваться, когда вы также вычисляете выражение XPath, заданное аргументом имя-значение селектора, таким как StructSelector для readstruct, или VariableSelectors для readtable и readtimetable.

По умолчанию функция чтения автоматически обнаруживает префиксы пространства имен, чтобы зарегистрироваться для использования в оценке XPath, но можно также зарегистрировать новые префиксы пространства имен, используя RegisteredNamespaces аргумент имя-значение. Можно зарегистрировать новый префикс пространства имен, если у XML- узел есть URL-адрес пространства имен, но нет объявленного префикса пространства имен в XML- файла.

Для примера вычислите выражение XPath для XML- файла, вызываемого example.xml который не содержит префикса пространства имен. Задайте 'RegisteredNamespaces' как [“myprefix”, “https://www.mathworks.com”] для назначения префикса myprefix на URL- https://www.mathworks.com.

T = readtable("example.xml", "VariableSelector", "/myprefix:Data",...
 "RegisteredNamespaces", [“myprefix”, “https://www.mathworks.com”])

Пример: 'RegisteredNamespaces',[“myprefix”, “https://www.mathworks.com”]

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

свернуть все

Выходная таблица, возвращенная как таблица. Таблица может хранить такие метаданные, как описания, переменные модули, имена переменных и имена строк. Для получения дополнительной информации смотрите раздел « Свойства» table.

Совет

  • Большие файлы в формате XLSX иногда загружаются медленно. Для повышения эффективности импорта и экспорта Microsoft рекомендует использовать формат XLSB.

  • Следующие синтаксисы XPath поддерживаются для аргументов имя-значение селектора XPath, таких как RowSelector или VariableSelector.

    • Чтобы выбрать каждый узел, имя которого соответствует узлу, который вы хотите выбрать, независимо от его расположения в документе, используйте "//myNode" синтаксис. Можно использовать "//myNode" чтобы опустить выражение XPath, которое предшествует выбранному узлу.

    • Чтобы считать один из нескольких одноуровневых узлов под одним родительским узлом в файле, можно задать ChildNode [n], где n соответствует одноуровневому узлу, который необходимо индексировать. Для примера путь "/RootNode/ChildNode[2]" выбирает вторую ChildNode элемент, родительский элемент RootNode.

    • Чтобы считать значение атрибута, принадлежащего узлу элемента в вход XML- файл, задайте @ перед именем атрибута. Для примера, "/RootNode/ChildNode[2]/@AttributeName" выбирает атрибут AttributeName принадлежность ко второму ChildNode элемент, родительский элемент RootNode.

Вопросы совместимости

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

Поведение изменено в R2020a

Введенный в R2013b