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