Составьте таблицу из файла
создает таблицу путем чтения ориентированных на столбцы данных из файла.T = readtable(filename)
readtable определяет формат файла из расширения файла:
.txt, .dat, или .csv для текстовых файлов с разделителями
.xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, или .ods для файлов электронной таблицы
.xml для файлов расширяемого языка разметки (XML)
Для текста и файлов электронной таблицы, readtable создает одну переменную в T для каждого столбца в файле и считывает имена переменных из первой строки файла. Для XML- файлов, readtable создает одну переменную в T для каждого элемента или узла атрибута, обнаруженного как табличная переменная. Имена переменных соответствуют именам элементов и атрибутов.
По умолчанию, readtable создает переменные с типами данных, соответствующими значениям данных, обнаруженным в каждом столбце входа файла.
создает таблицу из файла с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Для примера можно задать, 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 - Имя файла для чтенияИмя считываемого файла, заданное как вектор символов или строковый скаляр.
В зависимости от местоположения вашего файла, filename может принять одну из этих форм.
Местоположение | Форма | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Текущая папка или папка на MATLAB® путь | Укажите имя файла в Пример:
'myFile.txt' | ||||||||
Файл в папке | Если файл находится не в текущей папке или в папке на пути MATLAB, задайте полное или относительное имя пути в Пример:
Пример:
| ||||||||
| URL-адрес Интернета | Если файл задан как однородный интернет-локатор ресурсов (URL), то Пример:
| ||||||||
Удаленное местоположение | Если файл хранится в удаленном местоположении, то
Исходя из удаленного местоположения,
Для получения дополнительной информации см. раздел Работа с удаленными данными. Пример:
|
Если filename включает расширение файла, затем функция импорта определяет формат файла из расширения. В противном случае необходимо задать 'FileType' аргументы пары "имя-значение" для указания типа файла.
В Windows® систем с Microsoft® Excel® ПО, функция импорта считывает любой формат файла электронной таблицы Excel, распознанный вашей версией Excel.
Если в вашей системе нет Excel для Windows или если вы используете Online™ MATLAB, функция импорта работает с UseExcel значение свойства установлено в false, и читается только .xls, .xlsx, .xlsm, .xltx, and .xltm файлы.
Для текстовых файлов с разделителями функция импорта преобразует пустые поля в файле в NaN (для числовой переменной) или пустой символьный вектор (для текстовой переменной). Все линии в текстовом файле должны иметь одинаковое количество разделителей. Функция импорта игнорирует незначительное пустое пространство в файле.
Типы данных: char | string
opts - настройки импорта файловSpreadsheetImportOptions | DelimitedtextImportOptions | FixedWidthImportOptions | XMLImportOptionsНастройки импорта файлов, заданные как 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' | 'text' | 'delimitedtext' | 'fixedwidth' | 'xml'Тип файла, заданный как разделенная разделенными запятой парами, состоящая из 'FileType' и одно из этих значений.
| Значение | Настройки импорта для файла |
|---|---|
'spreadsheet' | Верните |
'text' | Верните |
'delimitedtext' | Верните |
'fixedwidth' | Верните |
'xml' | Возврат |
Используйте 'FileType' аргумент пары "имя-значение" при filename не включает расширение файла или когда расширение не является одним из следующих:
.txt, .dat, или .csv для текстовых файлов
.xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, или .ods для файлов электронной таблицы
.xml, для XML- файлы
Пример: 'FileType','text'
Типы данных: char | string
'ReadRowNames' - Индикатор для чтения первого столбца в виде имен строкfalse (по умолчанию) | true | 0 | 1Индикатор для чтения первого столбца в виде имен строк, заданный как разделенная разделенными запятой парами, состоящая из 'ReadRowNames' и любой из них false, true, 0, или 1.
Индикатор | Описание |
|---|---|
| Используйте, когда считываемый первый столбец области содержит данные, а не имена строк таблицы. |
| Используйте, когда первый считываемый столбец области содержит имена строк для таблицы. |
| неуказанный | Когда не задано, readtable принимает false. |
Примечание: Если оба 'ReadVariableNames' и 'ReadRowNames' логические индикаторы true, затем readtable сохраняет имя в первом столбце первой строки области в качестве первого имени размерности в свойстве, T.Properties.DimensionNames.
Если вы задаете ReadRowNames аргумент в дополнение к opts опции импорта, затем readtable изменения поведения на основе спецификации:
Если ReadRowNames является true, затем считайте имена строк из указанного файла с помощью RowNamesRange или RowNameColumn свойство объекта настроек импорта.
Если ReadRowNames является false, тогда не импортируйте имена строк.
'TreatAsMissing' - Текст заполнителя для обработки как пустого значенияТекст-заполнитель для обработки как пустого значения, заданный как разделенная разделенными запятой парами, состоящая из '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'Тип для импортированных текстовых данных, заданный как разделенная разделенными запятой парами, состоящая из 'TextType' и любой из них 'char' или 'string'.
'char' - Импортируйте текстовые данные в MATLAB как векторы символов.
'string' - Импорт текстовых данных в MATLAB в виде строковых массивов.
Пример: 'TextType','char'
'DatetimeType' - Тип для импортированных данных даты и времени'datetime' (по умолчанию) | 'text' | 'exceldatenum'(только файлы электронной таблицы)Тип для импортированных данных даты и времени, заданный как разделенная разделенными запятой парами, состоящая из 'DatetimeType' и одно из следующих значений: 'datetime', 'text', или 'exceldatenum'. Значение 'exceldatenum' применяется только для файлов электронной таблицы и недопустимо для текстовых файлов.
| Значение | Тип для импортированных данных даты и времени |
|---|---|
'datetime' | MATLAB- Для получения дополнительной информации см. |
'text' | Если
|
'exceldatenum' | Серийные номера дат Excel Серийный номер даты - это одно число, равное количеству дней с заданной контрольной даты. Серийные номера дат Excel используют иную ссылочную дату, чем серийные номера дат MATLAB. Для получения дополнительной информации о датах Excel смотрите |
Типы данных: char | string
'VariableNamingRule' - Флаг для сохранения имен переменных'modify' (по умолчанию) | 'preserve'Флаг для сохранения имен переменных, заданный как разделенная разделенными запятой парами, состоящая из VariableNamingRule и любой из них 'modify' или 'preserve'.
'modify' - Преобразуйте недопустимые имена переменных (как определено isvarname function) для действительных идентификаторов MATLAB.
'preserve' - Сохраните имена переменных, которые не являются допустимыми идентификаторами MATLAB, такими как имена переменных, которые включают пространства и символы, отличные от ASCII.
Начиная с R2019b, имена переменных и имена строк могут включать любые символы, включая пространства и символы, отличные от ASCII. Кроме того, они могут начинаться с любых символов, а не только букв. Переменная и имена строк не должны быть допустимыми идентификаторами MATLAB (как определяется isvarname функция). Чтобы сохранить эти имена переменных и имена строк, задайте значение VariableNamingRule на 'preserve'.
Типы данных: char | string
'ReadVariableNames' - Считайте первую строку как имена переменныхtrue | false | 1 | 0Индикатор для чтения первой строки как имен переменных, заданный как разделенная разделенными запятой парами, состоящая из 'ReadVariableNames' и любой из них true, false, 1, или 0. Если не задано, readtable автоматически определяет наличие имен переменных.
Индикатор | Описание |
|---|---|
| Используйте, когда первая считываемая строка области содержит имена переменных для таблицы. |
| Используйте, когда первая считываемая строка области содержит данные в таблице. |
| неуказанный | Когда не задано, readtable автоматически обнаруживает true или false и протекает соответственно. |
Примечание: Если оба 'ReadVariableNames' и 'ReadRowNames' логические индикаторы true, затем readtable сохраняет имя в первом столбце первой строки области в качестве первого имени размерности в свойстве, T.Properties.DimensionNames.
Если вы задаете ReadVariableNames аргумент в дополнение к opts а настройки импорта, затем readtable изменения поведения на основе спецификации:
Если ReadVariableNames является true, затем считайте имена переменных из указанного файла с помощью VariableNamesRange или VariableNamesLine свойство объекта настроек импорта.
Если ReadVariableNames является false, затем считайте имена переменных из VariableNames свойство объекта настроек импорта.
'Delimiter' - Символ разделителя полейСимвол разделителя полей, заданный как разделенная разделенными запятой парами, состоящая из 'Delimiter' и вектор символов, массив ячеек из векторов символов или строка. Задайте Delimiter использование любого допустимого символа, такого как запятая ',' или период '.'.
В этой таблице перечислены некоторые обычно используемые символы разделителя полей.
Спецификатор | Разделитель полей |
|---|---|
| Запятая |
| Пространство |
| Вкладка |
| Точка с запятой |
| Вертикальный брус |
| неуказанный | Если не задано, |
Чтобы рассматривать последовательные разделители как один разделитель, задайте Delimiter как массив ячеек из векторов символов. В сложение необходимо также задать MultipleDelimsAsOne опция.
Пример: 'Delimiter',',' или 'Delimiter','comma'
Типы данных: char | string | cell
'NumHeaderLines' - Количество строк заголовка0 (по умолчанию) | положительное целое числоКоличество линий заголовка, которые нужно пропустить в начале файла, заданное как разделенная разделенными запятой парами, состоящая из 'NumHeaderLines' и положительное целое число. Если не задано, readtable автоматически определяет количество линий.
Типы данных: single | double
'Format' - Формат столбца'auto'Формат столбца файла, заданный как разделенная разделенными запятой парами, состоящая из 'Format' и вектор символов или строковый скаляр, имеющий один или несколько спецификаторов преобразования, или 'auto'. Спецификаторы преобразования те же, что и спецификаторы, принятые textscan функция.
Определение формата может значительно улучшить скорость для некоторых больших файлов. Если вы не задаете значение для Format, затем readtable использует %q для интерпретации нечисловых столбцов. The %q спецификатор читает текст и опускает двойные кавычки (") при необходимости.
Если вы не задаете 'Format' Пара "имя-значение", затем readtable функция ведет себя так, как будто вы использовали результаты detectImportOptions функция для импорта данных. Для получения дополнительной информации о последствиях этого поведения см. «Вопросы совместимости».
Если вы задаете 'Format','auto', затем создаются переменные double массивы, массив ячеек из векторов символов или datetime массивы, в зависимости от данных. Если весь столбец является числовым, переменные импортируются как double. Если какой-либо элемент в столбце не является числовым, переменные импортируются как массивы ячеек векторов символов или как datetime массивы, если значения представляют даты и времена.
Типы данных: char | string
'EmptyValue' - Возвращено значение для пустых числовых полейNaN (по умолчанию) | скаляромВозвращенное значение для пустых числовых полей в текстовых файлах с разделителями, заданное как разделенная разделенными запятой парами, состоящая из 'EmptyValue' и скаляром.
'MultipleDelimsAsOne' - Обработка нескольких разделителей0 (false) (по умолчанию) | 1 (true)Множественная обработка разделителя, заданная как разделенная разделенными запятой парами, состоящая из 'MultipleDelimsAsOne' и любой из них true или false. Если trueзатем функция импорта обрабатывает последовательные разделители как один разделитель. Повторные разделители, разделенные пустым пространством, также рассматриваются как один разделитель. Вы также должны задать Delimiter опция.
Пример: 'MultipleDelimsAsOne',1
'CollectOutput' - Логический индикатор, определяющий конкатенацию данныхfalse (по умолчанию) | true Логический индикатор, определяющий конкатенацию данных, задается как разделенная разделенными запятой парами, состоящая из 'CollectOutput' и любой из них true или false. Если trueзатем функция импорта объединяет последовательные выходные камеры того же основного класса MATLAB в один массив.
'CommentStyle' - Символы, обозначающие текст, который нужно игнорироватьСимволы, обозначающие текст, который нужно игнорировать, заданные как разделенная разделенными запятой парами, состоящая из 'CommentStyle' и вектор символов, массив ячеек из векторов символов, строковых или строковых массивов.
Для примера задайте такой символ, как '%' чтобы игнорировать текст, следующий за символом в той же линии. Задайте массив ячеек из двух векторов символов, таких как {'/*','*/'}, чтобы игнорировать любой текст между этими последовательностями.
MATLAB проверяет комментарии только в начале каждого поля, а не в пределах поля.
Пример: 'CommentStyle',{'/*','*/'}
Типы данных: char | string
'ExpChars' - Символы экспоненты'eEdD' (по умолчанию) | вектор символов | строкаСимволы экспоненты, заданные как разделенная разделенными запятой парами, состоящая из 'ExpChars' и вектор символов или строка. Символы экспоненты по умолчанию e, E, d, и D.
Типы данных: char | string
'LineEnding' - Символы в конце строкиСимволы в конце строки, заданные как разделенная разделенными запятой парами, состоящая из 'LineEnding' и вектор символов или строка. Вектор символов должен быть '\r\n' или должен указывать один символ. Общие символы в конце строки являются символом новой строки ('\n') или возврат каретки ('\r'). Если вы задаете '\r\n', затем функция импорта обрабатывает любое из \r, \n, и комбинация двух (\r\n) в виде символов в конце строки.
Последовательность по умолчанию для конца линии \n, \r, или \r\n, в зависимости от содержимого файла.
Если в конце последней линии файла отсутствуют значения и последовательность в конце строки, функция импорта возвращает пустые значения для этих полей. Это гарантирует, что отдельные камеры в выходном массиве ячеек, C, имеют одинаковый размер.
Пример: 'LineEnding',':'
Типы данных: char | string
'DateLocale' - Локаль для дат чтенияЛокаль для дат чтения, заданная как разделенная разделенными запятой парами, состоящая из 'DateLocale' и вектор символов или строковый скаляр вида , где:xx_ YY
YY - заглавный код ISO 3166-1 альфа-2, указывающий страну.
xx представляет собой строчный двухбуквенный код ISO 639-1, указывающий на язык.
Список общих значений для локали см. в Locale аргумент пары "имя-значение" для datetime функция.
При использовании %D спецификатор формата для чтения текста как datetime значения, использование DateLocale для определения локали, в которой функция импорта должна интерпретировать имена месяцев и дней недели и сокращений.
Если вы задаете DateLocale аргумент в дополнение к opts Настройки импорта, тогда функция импорта использует заданное значение для DateLocale аргумент, переопределяющий локаль, заданный в настройках импорта.
Пример: 'DateLocale','ja_JP'
'Encoding' - Схема кодирования символов'UTF-8' | 'ISO-8859-1' | 'windows-1251' | 'windows-1252' | ...Схема кодирования символов, сопоставленная с файлом, задается как разделенная разделенными запятой парами, состоящая из 'Encoding' и 'system' или стандартное имя схемы кодирования символов. Когда вы не задаете никакую кодировку, readtable функция использует автоматическое обнаружение набора символов, чтобы определить кодировку при чтении файла.
Если вы задаете 'Encoding' аргумент в дополнение к настройкам импорта, затем readtable функция использует заданное значение для 'Encoding', переопределяющая кодировку, заданную в настройках импорта.
Пример: 'Encoding','UTF-8' использует UTF-8 в качестве кодировки.
Пример: 'Encoding','system' использует системную кодировку по умолчанию.
Типы данных: char | string
'DurationType' - Выход данных данных длительности'duration' (по умолчанию) | 'text'Выход данных данных длительности из текстовых файлов, заданный как разделенная разделенными запятой парами, состоящая из 'DurationType' и любой из них 'duration' или 'text'.
| Значение | Тип для импортированных данных длительности |
|---|---|
'duration' | MATLAB- Для получения дополнительной информации см. |
'text' | Если
|
Типы данных: char | string
'HexType' - Выход данных шестнадцатеричных данных'auto' (по умолчанию) | 'text' | 'int8' | 'int16' | ...Выход данных шестнадцатеричных данных, заданный как разделенная разделенными запятой парами, состоящая из 'HexType' и одно из значений, перечисленных в таблице.
Входной файл представляет шестнадцатеричные значения в виде текста, используя либо 0x или 0X в виде префикса и символов 0- 9, a- f, и A- F в виде цифр. (Прописные и строчные буквы представляют одни и те же цифры - например '0xf' и '0xF' оба представляют 15.)
Функция импорта преобразует шестнадцатеричные значения в тип данных, заданный значением 'HexType'.
Значение | Тип данных Выходов Табличных переменных |
|---|---|
| тип данных обнаружен автоматически |
| неизмененный входной текст |
| 8-битное целое число, со знаком |
| 16-битное целое число, со знаком |
| 32-битное целое число, со знаком |
| 64-битное целое число, со знаком |
| 8-битное целое число, без знака |
| 16-битное целое число, без знака |
| 32-битное целое число, без знака |
| 64-битное целое число, без знака |
Пример: 'HexType','uint16' преобразует текст, представляющий шестнадцатеричные значения (такие как '0xFF') беззнаковым 16-битным целым числам (таким как 255) в выход таблице.
Типы данных: char | string
'BinaryType' - Выход данных двоичных данных'auto' (по умолчанию) | 'text' | 'int8' | 'int16' | ...Выход данных двоичных данных, заданный как разделенная разделенными запятой парами, состоящая из 'BinaryType' и одно из значений, перечисленных в таблице.
Входной файл представляет двоичные значения как текст, используя любой из 0b или 0B в виде префикса и символов 0 и 1 в виде цифр.
Функция импорта преобразует двоичные значения в тип данных, заданный значением 'BinaryType'.
Значение | Тип данных Выходов Табличных переменных |
|---|---|
| тип данных обнаружен автоматически |
| неизмененный входной текст |
| 8-битное целое число, со знаком |
| 16-битное целое число, со знаком |
| 32-битное целое число, со знаком |
| 64-битное целое число, со знаком |
| 8-битное целое число, без знака |
| 16-битное целое число, без знака |
| 32-битное целое число, без знака |
| 64-битное целое число, без знака |
Пример: 'BinaryType','uint16' преобразует текст, представляющий двоичные значения (такие как '0b11111111') беззнаковым 16-битным целым числам (таким как 255) в выход таблице.
Типы данных: char | string
'TrimNonNumeric' - Удаление нечисловых символовfalse (по умолчанию) | trueУдалите нечисловые символы из числовой переменной, заданной в виде логического true или false.
Пример: Если пара "имя-значение" задана как 'TrimNonNumeric',true, затем функция импорта читает '$500/-' как 500.
Типы данных: logical
'Sheet' - Лист для чтения1 (по умолчанию) | положительное целое число | вектор символов | строкаСчитываемый лист, заданный как разделенная разделенными запятой парами, состоящая из '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' и вектор символов или строковый скаляр в одной из следующих форм.
Способы задать Range | Описание |
|---|---|
Стартовая камера | Задайте стартовую камеру для данных в виде вектора символов или строкового скаляра или двухчислового элемента.
Используя стартовую камеру, функция импорта автоматически обнаруживает степень данных, начав импорт в стартовой камере и закончив в последней пустой области значений строки или нижнего колонтитула. Пример:
'A5' |
Прямоугольная область значений | Задайте область значений с помощью синтаксиса Пример: |
Не заданные или пустые | Если не задано, Пример: Примечание: Used Range относится к прямоугольному фрагменту электронной таблицы, которая на самом деле содержит данные. |
Область значений строк | Можно идентифицировать область значений, задав начальную и конечную строки с помощью обозначений строк Excel. Затем Пример: |
Область значений столбцов | Можно идентифицировать область значений, задав начальный и конечный столбцы с помощью обозначений столбцов Excel. Затем Пример: |
Именованная область значений в Excel | В Excel можно создать имена для идентификации областей значений в электронной таблице. Например, можно выбрать прямоугольный фрагмент электронной таблицы и вызвать ее Пример: |
Пример: 'Range', 'A1:F10'
Пример: 'Range', "A1:F10"—
Типы данных: char | string
'UseExcel' - флаг для запуска образца Microsoft Excel для Windowsfalse (по умолчанию) | trueФлаг для запуска образца Microsoft Excel для Windows при чтении данных электронных таблиц, заданный как разделенная разделенными запятой парами, состоящая из 'UseExcel' и любой из них true, или false.
Можно задать 'UseExcel' параметр к одному из следующих значений:
true - функция импорта запускает образец Microsoft Excel при чтении файла.
false - функция импорта не запускает образец Microsoft Excel при чтении файла. При работе в этом режиме функциональность импортирующей функции отличается поддержкой форматов файлов и интерактивных функций, таких как формулы и макросы.
UseExcel |
|
|
|---|---|---|
| Поддерживаемые форматы файлов |
|
|
Поддержка интерактивных функций, таких как формулы и макросы | Да | Нет |
При чтении из файлов электронной таблицы на платформах Windows, если необходимо запустить образец Microsoft Excel, установите 'UseExcel' параметр в true.
'AttributeSuffix' - Суффикс атрибута'Attribute' (по умолчанию) | символьный вектор | строковый скалярСуффикс атрибута, заданный как разделенная разделенными запятой парами, состоящая из 'AttributeSuffix' и либо вектор символов, либо строковый скаляр. Этот аргумент задает суффикс, который функция чтения добавляет ко всем табличным переменным, которые соответствуют атрибутам в вход XML- файлу. Если вы не задаете 'AttributeSuffix'затем функция чтения по умолчанию добавляет суффикс 'Attribute' ко всем именам переменных, соответствующим атрибутам в вход XML- файл.
Пример: 'AttributeSuffix','_att'
'ImportAttributes' - Атрибуты импорта1 или true (по умолчанию) | логический 0 или falseАтрибуты импорта, заданные как разделенная разделенными запятой парами, состоящая из 'ImportAttributes' и любой из них 1 (true) или 0 (false). Если вы задаете falseтогда функция чтения не импортирует XML-атрибуты в файл входа как переменные в таблице выходы.
Пример: 'ImportAttributes',false
'RowNodeName' - Имя XML-узла строки таблицыИмя узла строки таблицы XML, заданное как разделенная запятой пара, состоящее из 'RowNodeName' и либо вектор символов, либо строковый скаляр. Этот аргумент задает имя узла XML, которое определяет строки таблицы выхода.
Пример: 'RowNodeName','XMLNodeName'
'RowSelector' - Выражение строки XPath таблицыВыражение строки таблицы XPath, заданное как вектор символов или строковый скаляр, который функция чтения использует для выбора отдельных строк выхода таблицы. Вы должны задать RowSelector как допустимое выражение XPath версии 1.0.
Пример: 'RowSelector','/RootNode/ChildNode'
'VariableNodeNames' - Имена XML-узлов переменной табличнойТабличные переменные XML- узел имена, заданные как разделенная запятой пара, состоящие из 'VariableNodeNames' и массив ячеек с векторами символов или строковыми массивами. Этот аргумент задает имя узла XML, которое функция чтения использует для идентификации XML- узлов, считываемого как переменные в выход таблице.
Пример: 'VariableNodeNames',{'XMLNodeName1','XMLNodeName2'}
Пример: 'VariableNodeNames',"XMLNodeName"
Пример: 'VariableNodeNames',["XMLNodeName1","XMLNodeName2"]
'VariableSelectors' - Табличная переменная XPath выраженияТабличная переменная XPath выражения, заданные как массив ячеек из векторов символов или строковых массивов, который функция чтения использует для выбора табличных переменных. Вы должны задать VariableSelectors как допустимые выражения XPath версии 1.0.
Пример: 'VariableSelectors',{'/RootNode/ChildNode'}
Пример: 'VariableSelectors',"/RootNode/ChildNode"
Пример: 'VariableSelectors',["/RootNode/ChildNode1","/RootNode/ChildNode2"]
'TableNodeName' - Имя XML-узла таблицыИмя узла таблицы XML, заданное как разделенная запятой пара, состоящее из 'TableNodeName' и либо вектор символов, либо строковый скаляр. Этот аргумент задает узел в структуре входа, который функция чтения должна считать в таблицу.
Пример: 'TableNodeName','NodeName'
'TableSelector' - Табличные данные XPath выражениеТабличные данные XPath выражение, заданное как вектор символов или строковый скаляр, который функция чтения использует для выбора выхода данных таблицы. Вы должны задать TableSelector как допустимое выражение XPath версии 1.0.
Пример: 'TableSelector','/RootNode/ChildNode'
'VariableUnitsSelector' - Выражение XPath переменных модулейПеременные модули XPath, заданные как вектор символов или строковый скаляр, который функция чтения использует для выбора переменных модулей табличной переменной. Вы должны задать VariableUnitsSelector как допустимое выражение XPath версии 1.0.
Пример: 'VariableUnitsSelector','/RootNode/ChildNode'
'VariableDescriptionsSelector' - Описание переменной XPath выражениеОписание переменной XPath выражение, заданное как вектор символов или строковый скаляр, который читается функцией чтения, используется для выбора описаний табличных переменных. Вы должны задать VariableDescriptionsSelector как допустимое выражение XPath версии 1.0.
Пример: 'VariableDescriptionsSelector','/RootNode/ChildNode'
'RowNamesSelector' - Имена строк таблицы XPath выражениеСтрока таблицы называет выражение XPath, заданное в виде вектора символов или строкового скаляра, который функция чтения использует для выбора имен строк таблицы. Вы должны задать RowNamesSelector как допустимое выражение XPath версии 1.0.
Пример: 'RowNamesSelector','/RootNode/ChildNode'
'RepeatedNodeRule' - Процедура обработки повторяющихся XML-узлов'addcol' (по умолчанию) | 'ignore' | 'error'Процедура обработки повторяющихся XML- узлы в заданной строке таблицы, заданная как 'addcol', 'ignore', или 'error'.
Повторное правило узла | Поведение |
|---|---|
'addcol' | Добавьте столбцы для повторяющихся узлов под заголовком переменной в таблице. Определение значения |
'ignore' | Пропустите импорт повторяющихся узлов. |
'error' | Отображение сообщения об ошибке и прекращение операции импорта. |
Пример: 'RepeatedNodeRule','ignore'
'RegisteredNamespaces' - Набор зарегистрированных префиксов пространства имен XMLНабор зарегистрированных префиксов пространства имен 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”]
T - Выходная таблицаВыходная таблица, возвращенная как таблица. Таблица может хранить такие метаданные, как описания, переменные модули, имена переменных и имена строк. Для получения дополнительной информации смотрите раздел « Свойства» 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.
detectImportOptions функция, используемая по умолчанию для импорта табличных данныхПоведение изменено в R2020a
По умолчанию, readtable функция использует результаты detectImportOptions функция для импорта табличных данных. В сущности, эти два вызова функции ведут себя одинаково.
T = readtable(filename) T = readtable(filename,detectImportOptions(filename))
В R2020a существует несколько различий между поведением по умолчанию readtable и его поведение по умолчанию в предыдущих релизах.
Описание Входа полей или строк | Значения по умолчанию R2020a | Поведение по умолчанию в предыдущих релизах |
|---|---|---|
Первая строка не имеет текста для назначения в качестве имен выхода табличных переменных | Присваивает имена | Преобразует значения в первой строке значений данных в имена выходов табличных переменных |
Несколько строк текста как линии заголовка |
|
|
Пустые поля | Считайте отсутствующими значениями для обнаруженного типа данных | Обработка как пустые символьные векторы или строки |
Значения в кавычках | Обработайте как обнаруженный тип данных | Относитесь как к тексту |
Текст, который нельзя преобразовать | Считайте отсутствующими значениями для обнаруженного типа данных | Относитесь как к тексту |
Нечисловые символы отслеживают числовой символ без разделителя между ними | Относитесь к символам как к нечисловым | Обработайте числовые и нечисловые символы, как если бы разделитель разделил их |
Входной текстовый файл имеет линии с разным количеством разделителей | Возвращает выходную таблицу с дополнительными переменными | Поднимает сообщение об ошибке |
Звонить readtable с поведением по умолчанию, которое у него было до R2019b, используйте 'Format','auto' аргумент пары "имя-значение".
T = readtable(filename,'Format','auto')
detectImportOptions | Инструмент для импорта | preview | readcell | readmatrix | readtimetable | readvars | setvaropts | table | textscan | writetable
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.