exponenta event banner

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

Создайте таблицу из файла. 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 в текстовом редакторе. Ниже показан снимок экрана. Обратите внимание, что файл содержит данные с разделителями, ориентированные на столбцы.

Создайте таблицу из текстового файла с разделителями. 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 вместе с объектом options для импорта выбранных переменных. Отображение сводки таблицы.

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 вместе с объектом options для импорта указанных переменных.

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       

Можно считывать шестнадцатеричные и двоичные числа из файла и сохранять их как числовые переменные в таблице. 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'}

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 вместе с объектом options для импорта указанной переменной.

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 вместе с объектом options для импорта выбранной переменной.

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 или используется MATLAB Online™, функция импорта работает с UseExcel свойство имеет значение false, и читает только .xls, .xlsx, .xlsm, .xltx, and .xltm файлы.

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

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

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

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

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

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

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

свернуть все

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

СтоимостьПараметры импорта для файла
'spreadsheet'

Вернуть a SpreadsheetImportOptions объект.

'text'

Вернуть a DelimitedTextImportOptions или FixedWidthImportOptions в зависимости от макета текстового файла.

'delimitedtext'

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

'fixedwidth'

Вернуть a 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 к допустимым идентификаторам 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 для интерпретации нечисловых столбцов. %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]

Начальная ячейка

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

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

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

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

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

'Corner1:Corner2'

Прямоугольный диапазон

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

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

''

Не указан или пуст

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

Пример: '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 иногда загружаются медленно. Для повышения производительности импорта и экспорта корпорация Майкрософт рекомендует использовать формат 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