Составьте таблицу из файла
составляет таблицу путем чтения данных в столбцах из файла.T
= readtable(filename
)
readtable
определяет формат файла из расширения файла:
.txt
, .dat
, или .csv
для файлов разделенного текста
.xls
, .xlsb
, .xlsm
, .xlsx
, .xltm
, .xltx
, или .ods
для файлов электронной таблицы
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
в текстовом редакторе. Файл имеет линию с именами столбцов и другую линию с заголовками. Последние две строки имеют разрывы, где предыдущие строки имеют значения данных.
Составьте таблицу из файла. 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' }
Для получения дополнительной информации смотрите раздел Compatibility Considerations на этой странице.
Предварительно просмотрите файл mySpaceDelimTable.txt
в текстовом редакторе. Снимок экрана показывают ниже. Заметьте, что файл содержит разграниченный пробел, данные в столбцах.
Составьте таблицу из файла разделенного текста пробела. readtable
функционируйте присваивает имена переменных по умолчанию Var1
к Var5
потому что файл не содержит обнаруживаемые имена столбцов в своей первой строке.
T = readtable('mySpaceDelimTable.txt')
T=3×5 table
Var1 Var2 Var3 Var4 Var5
_____ ____ ____ ______ _________
{'M'} 45 45 {'NY'} {'true' }
{'F'} 41 32 {'CA'} {'false'}
{'M'} 40 34 {'MA'} {'false'}
Загрузите файл myCsvTable.dat
и предварительный просмотр его содержимое в текстовом редакторе. Снимок экрана показывают ниже. Заметьте, что файл содержит разделенные от запятой данные в столбцах.
filename = 'myCsvTable.dat';
Составьте таблицу из разделенного от запятой текстового файла. Импортируйте первые два столбца как векторы символов, третий столбец как uint32
, и следующие два столбца как с двойной точностью, числа с плавающей запятой. Импортируйте записи последнего столбца как векторы символов.
T = readtable(filename,'Format','%s%s%u%f%f%s')
T=5×6 table
LastName Gender Age Height Weight Smoker
____________ ______ ___ ______ ______ ______
{'Smith' } {'M'} 38 71 176 {'1'}
{'Johnson' } {'M'} 43 69 163 {'0'}
{'Williams'} {'F'} 38 64 131 {'0'}
{'Jones' } {'F'} 40 67 133 {'0'}
{'Brown' } {'F'} 49 64 119 {'0'}
Спецификаторами преобразования является %s
для массива ячеек из символьных векторов, %f
для double
, и %u
для uint32
.
Считайте немецкие даты из файла и добавьте их в таблицу как английские даты.
Предварительно просмотрите файл german_dates.txt
в текстовом редакторе. Снимок экрана показывают ниже. Заметьте, что первый столбец значений содержит даты на немецком языке, и вторые и третьи столбцы являются числовыми значениями.
Считайте файл примера с помощью readtable
. Спецификаторами преобразования является %D
даты и %f
для значений с плавающей точкой. Задайте кодирование файла с помощью FileEncoding
аргумент пары "имя-значение". Задайте формат и локаль дат с помощью DateLocale
аргумент пары "имя-значение".
T = readtable('german_dates.txt',... 'Format','%{dd MMMM yyyy}D %f %f',... 'FileEncoding','ISO-8859-15',... 'DateLocale','de_DE')
T=3×3 table
Var1 Var2 Var3
________________ ____ _____
01 January 2014 20.2 100.5
01 February 2014 21.6 102.7
01 March 2014 20.7 99.8
Составьте таблицу из электронной таблицы, которая содержит имена переменных в первой строке и имена строки в первом столбце.
T = readtable('patients.xls','ReadRowNames',true);
Отобразите первые пять строк и сначала четыре переменные таблицы.
T(1:5,1:4)
ans=5×4 table
Gender Age Location Height
__________ ___ _____________________________ ______
Smith {'Male' } 38 {'County General Hospital' } 71
Johnson {'Male' } 43 {'VA Hospital' } 69
Williams {'Female'} 38 {'St. Mary's Medical Center'} 64
Jones {'Female'} 40 {'VA Hospital' } 67
Brown {'Female'} 49 {'County General Hospital' } 64
Просмотрите DimensionNames
свойство таблицы.
T.Properties.DimensionNames
ans = 1x2 cell
{'LastName'} {'Variables'}
'LastName'
имя в первом столбце первой строки электронной таблицы.
Составьте таблицу с помощью данных из заданной области электронной таблицы patients.xls
. Используйте данные из 5 3 прямоугольной области между углами C2
и E6
. Не используйте первую строку этой области как имена переменных.
T = readtable('patients.xls',... 'Range','C2:E6',... 'ReadVariableNames',false)
T = Var1 Var2 Var3 ____ ___________________________ ____ 38 'County General Hospital' 71 43 'VA Hospital' 69 38 'St. Mary's Medical Center' 64 40 'VA Hospital' 67 49 'County General Hospital' 64
T
содержит имена переменных по умолчанию.
Создайте настройки импорта, адаптируйте типы данных для нескольких переменных, и затем считайте данные.
Создайте объект настроек импорта из текстового файла.
opts = detectImportOptions('airlinesmall.csv')
opts = DelimitedTextImportOptions with properties: Format Properties: Delimiter: {','} Whitespace: '\b\t ' LineEnding: {'\n' '\r' '\r\n'} CommentStyle: {} ConsecutiveDelimitersRule: 'split' LeadingDelimitersRule: 'keep' TrailingDelimitersRule: 'ignore' EmptyLineRule: 'skip' Encoding: 'ISO-8859-1' Replacement Properties: MissingRule: 'fill' ImportErrorRule: 'fill' ExtraColumnsRule: 'addvars' Variable Import Properties: Set types by name using setvartype VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} VariableTypes: {'double', 'double', 'double' ... and 26 more} SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} VariableOptions: Show all 29 VariableOptions Access VariableOptions sub-properties using setvaropts/getvaropts VariableNamingRule: 'modify' Location Properties: DataLines: [2 Inf] VariableNamesLine: 1 RowNamesColumn: 0 VariableUnitsLine: 0 VariableDescriptionsLine: 0 To display a preview of the table, use preview
Исследуйте Type
свойство переменных TaxiIn
и TaxiOut
.
getvaropts(opts,{'TaxiIn','TaxiOut'})
ans = 1x2 TextVariableImportOptions array with properties: Name Type FillValue TreatAsMissing QuoteRule Prefixes Suffixes EmptyFieldRule WhitespaceRule
Измените тип переменных TaxiIn
и TaxiOut
к double
.
opts = setvartype(opts,{'TaxiIn','TaxiOut'},'double');
Задайте подмножество переменных, чтобы импортировать и исследовать.
opts.SelectedVariableNames = {'TaxiIn','TaxiOut'};
Используйте readtable
функция наряду с опциями возражает, чтобы импортировать выбранные переменные. Отобразите сводные данные таблицы.
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
Можно считать табличные данные при сохранении имен переменных, которые включают любые символы, включая символы non-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® преобразует любые имена переменных, которые включают пробелы и символы non-ASCII в допустимые идентификаторы MATLAB®. Например, MATLAB® преобразует имена переменных 'Last Name'
к 'LastName'
, и 'Smoker (1 or 0)'
к 'Smoker_1or0_'
. Чтобы считать табличные данные при сохранении имен переменных, установите 'VariableNamingRule'
параметр к preserve
.
T_preserve = readtable('sampletable.txt',"VariableNamingRule","preserve")
T_preserve=5×3 table
Last Name Age Smoker (1 or 0)
___________ ___ _______________
{'Sanchez'} 38 1
{'Johnson'} 43 0
{'Li' } 38 1
{'Diaz' } 40 0
{'Brown' } 49 1
Можно считать шестнадцатеричные и двоичные числа из файла и сохранить их как числовые переменные в таблице. readtable
функционируйте автоматически читает шестнадцатеричные и двоичные числа, когда они включают 0x
и 0b
префиксы соответственно. Числовые значения хранятся с помощью целочисленных типов данных. Можно также использовать настройки импорта, чтобы считать такие числа, когда у них нет префиксов.
Предварительно просмотрите hexAndBinary.txt
файл в текстовом редакторе. Это имеет столбцы шестнадцатеричных и двоичных чисел с префиксами и один столбец без.
Считайте файл с помощью readtable
. Функция обнаруживает числа с 0x
и 0b
префиксы и хранят их как целые числа. Третий столбец не имеет префиксов, таким образом, его значения обработаны как текст.
T = readtable('hexAndBinary.txt')
T=3×4 table
Var1 Var2 Var3 Var4
_____ ____ ________ ___________
255 255 {'C7F9'} {'Device1'}
256 4 {'05BF'} {'Device2'}
43981 129 {'F00F'} {'Device3'}
readtable
функционируйте хранит числовые значения в различных целочисленных классах (uint16
и uint8
) потому что T.Var1
имеет значение, которое требует больше чем 8 битов устройства хранения данных.
class(T.Var1)
ans = 'uint16'
class(T.Var2)
ans = 'uint8'
Чтобы задать типы данных для хранения числовых значений, импортированных из шестнадцатеричных и двоичных чисел, используйте 'HexType'
и 'BinaryType'
аргументы в виде пар имя-значение. Сохраните значения как 32-битные целые числа со знаком.
T = readtable('hexAndBinary.txt','HexType','int32','BinaryType','int32'); class(T.Var1)
ans = 'int32'
class(T.Var2)
ans = 'int32'
Можно использовать настройки импорта, чтобы обнаружить шестнадцатеричные и двоичные числа без префиксов и задать устройство хранения данных для них. Создайте объект настроек импорта для hexAndBinary.txt
.
opts = detectImportOptions('hexAndBinary.txt')
opts = DelimitedTextImportOptions with properties: Format Properties: Delimiter: {','} Whitespace: '\b\t ' LineEnding: {'\n' '\r' '\r\n'} CommentStyle: {} ConsecutiveDelimitersRule: 'split' LeadingDelimitersRule: 'keep' TrailingDelimitersRule: 'ignore' EmptyLineRule: 'skip' Encoding: 'UTF-8' Replacement Properties: MissingRule: 'fill' ImportErrorRule: 'fill' ExtraColumnsRule: 'addvars' Variable Import Properties: Set types by name using setvartype VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more} VariableTypes: {'auto', 'auto', 'char' ... and 1 more} SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more} VariableOptions: Show all 4 VariableOptions Access VariableOptions sub-properties using setvaropts/getvaropts VariableNamingRule: 'modify' Location Properties: DataLines: [1 Inf] VariableNamesLine: 0 RowNamesColumn: 0 VariableUnitsLine: 0 VariableDescriptionsLine: 0 To display a preview of the table, use preview
Чтобы указать, что третий столбец должен быть импортирован, как, шестнадцатеричные значения, несмотря на отсутствие префикса, используют setvaropts
функция, чтобы изменить тип переменной для третьей переменной таблицы. Установите тип переменной на int32
.
opts = setvaropts(opts,3,'NumberSystem','hex','Type','int32')
opts = DelimitedTextImportOptions with properties: Format Properties: Delimiter: {','} Whitespace: '\b\t ' LineEnding: {'\n' '\r' '\r\n'} CommentStyle: {} ConsecutiveDelimitersRule: 'split' LeadingDelimitersRule: 'keep' TrailingDelimitersRule: 'ignore' EmptyLineRule: 'skip' Encoding: 'UTF-8' Replacement Properties: MissingRule: 'fill' ImportErrorRule: 'fill' ExtraColumnsRule: 'addvars' Variable Import Properties: Set types by name using setvartype VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more} VariableTypes: {'auto', 'auto', 'int32' ... and 1 more} SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more} VariableOptions: Show all 4 VariableOptions Access VariableOptions sub-properties using setvaropts/getvaropts VariableNamingRule: 'modify' Location Properties: DataLines: [1 Inf] VariableNamesLine: 0 RowNamesColumn: 0 VariableUnitsLine: 0 VariableDescriptionsLine: 0 To display a preview of the table, use preview
Считайте файл и импортируйте третий столбец как числовые значения, не текст.
T = readtable('hexAndBinary.txt',opts)
T=3×4 table
Var1 Var2 Var3 Var4
_____ ____ _____ ___________
255 255 51193 {'Device1'}
256 4 1471 {'Device2'}
43981 129 61455 {'Device3'}
filename
— Имя файла, чтобы читатьИмя файла, чтобы читать в виде вектора символов или строкового скаляра.
В зависимости от местоположения вашего файла, filename
может взять одну из следующих форм.
Местоположение | Форма | ||||||||
---|---|---|---|---|---|---|---|---|---|
Текущая папка или папка на пути MATLAB® | Задайте имя файла в Пример: | ||||||||
Файл в папке | Если файл не находится в текущей папке или в папке на пути MATLAB, то задайте полное имя или относительный путь в Пример:
Пример:
| ||||||||
Удаленное местоположение | Если файл хранится в удаленном местоположении, то
На основе вашего удаленного местоположения,
Для получения дополнительной информации смотрите работу с Удаленными данными. Пример:
|
Если filename
включает расширение файла, затем функция импорта определяет формат файла из расширения. В противном случае необходимо задать 'FileType'
аргументы пары "имя-значение", чтобы указать на тип файла.
В системах Windows® с программным обеспечением Microsoft® Excel® функция импорта читает любой формат файла электронной таблицы Excel, распознанный вашей версией Excel.
Если ваша система не имеет Excel для Windows или если вы используете MATLAB Online™, функция импорта действует с UseExcel
набор свойств к false
, и чтения только .xls, .xlsx, .xlsm, .xltx, and .xltm
файлы.
Для файлов разделенного текста функция импорта преобразует пустые поля в файле к любому NaN
(для числовой переменной) или пустой символьный вектор (для текстовой переменной). Все линии в текстовом файле должны иметь то же количество разделителей. Функция импорта игнорирует незначительный пробел в файле.
Типы данных: char |
string
opts
— Настройки импорта файлаSpreadsheetImportOptions
| DelimitedtextImportOptions
| FixedWidthImportOptions
Настройки импорта файла в виде SpreadsheetImportOptions
DelimitedTextImportOptions
, или FixedWidthImportOptions
объект, созданный detectImportOptions
функция. opts
объект содержит свойства, которые управляют процессом импорта данных. Для получения дополнительной информации о свойствах каждого объекта смотрите соответствующую объектную страницу.
Тип файлов | Вывод |
---|---|
Файлы электронной таблицы | SpreadsheetImportOptions объект |
Текстовые файлы | DelimitedTextImportOptions объект |
Текстовые файлы фиксированной ширины | FixedWidthImportOptions объект |
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'ReadVariableNames',false
указывает, что первая строка файла не соответствует именам переменных.При чтении:
Текстовые файлы, только эти названия параметра применяются: FileType
'ReadVariableNames'
'ReadRowNames'
'TreatAsEmpty'
'DatetimeType'
, Delimiter
'HeaderLines'
формат
'EmptyValue'
'MultipleDelimsAsOne'
'CollectOutput'
CommentStyle
'ExpChars'
'LineEnding'
'DateLocale'
, Encoding
, HexType
, и BinaryType
.
Файлы электронной таблицы, только эти названия параметра применяются: FileType
'ReadVariableNames'
'ReadRowNames'
'TreatAsEmpty'
'DatetimeType'
, Sheet
Область значений
, UseExcel
, и TextType
.
Текст или Файлы электронной таблицы с opts
настройки импорта, только эти названия параметра применяются: ReadVariableNames
'ReadRowNames'
'DateLocale'
, Encoding
, Sheet
, и UseExcel
.
'FileType'
— Тип файла'spreadsheet'
| 'text'
| 'delimitedtext'
| 'fixedwidth'
Тип файла в виде разделенной запятой пары, состоящей из 'FileType'
и одно из этих значений.
Значение | Настройки импорта для файла |
---|---|
'spreadsheet' | Возвратите |
'text' | Возвратите |
'delimitedtext' | Возвратите |
'fixedwidth' | Возвратите |
Используйте 'FileType'
аргумент пары "имя-значение", когда filename
не включает расширение файла, или когда расширение не является одним из них:
.txt
, .dat
, или .csv
для текстовых файлов
.xls
, .xlsb
, .xlsm
, .xlsx
, .xltm
, .xltx
, или .ods
для файлов электронной таблицы
Пример: 'FileType','text'
Типы данных: char |
string
'ReadVariableNames'
— Считайте первую строку как имена переменныхtrue
| false
| 1
| 0
Индикатор для чтения первой строки как имена переменных в виде разделенной запятой пары, состоящей из 'ReadVariableNames'
и любой true
ложь
, 1, или
0
. Если незаданный, readtable
автоматически обнаруживает присутствие имен переменных.
Индикатор | Описание |
---|---|
| Используйте, когда первая строка области, которая будет читать, будет содержать имена переменных для таблицы. |
| Используйте, когда первая строка области, которая будет читать, будет содержать данные в таблице. |
незаданный | Когда оставлено незаданный, readtable автоматически обнаруживает true или false и доходы соответственно. |
Примечание: Если оба 'ReadVariableNames'
и 'ReadRowNames'
логическими индикаторами является true
, затем readtable
сохраняет имя в первом столбце первой строки области, чтобы читать как первое имя размерности в свойстве, T.Properties.DimensionNames
.
Если вы задаете ReadVariableNames
аргумент в дополнение к opts
настройки импорта, затем readtable
поведение изменяется на основе спецификации:
Если ReadVariableNames
true
, затем считайте имена переменных из заданного файла при помощи VariableNamesRange
или VariableNamesLine
свойство объекта настроек импорта.
Если ReadVariableNames
false
, затем считайте имена переменных из VariableNames
свойство объекта настроек импорта.
'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
, затем не импортируйте имена строки.
'TreatAsEmpty'
— Текст заполнителя, чтобы обработать как пустое значениеТекст заполнителя, чтобы обработать как пустое значение в виде разделенной запятой пары, состоящей из 'TreatAsEmpty'
и вектор символов, массив ячеек из символьных векторов, строка или массив строк. Табличные элементы, соответствующие этим символам, установлены в NaN
.
'TreatAsEmpty'
только применяется к числовым столбцам в файле и readtable
не принимает числовые литералы, такие как '-99'
.
Пример: 'TreatAsEmpty','N/A'
или 'TreatAsEmpty',"N/A"
наборы N/A
в рамках числовых столбцов к NaN
.
Пример: 'TreatAsEmpty',{'.','NA','N/A'}
или 'TreatAsEmpty',[".","NA","N/A"]
наборы .
нет данных
и N/A
в рамках числовых столбцов к NaN
.
Типы данных: char |
string
'TextType'
— Введите для данных об импортируемом тексте 'char'
(значение по умолчанию) | 'string'
Введите для данных об импортируемом тексте в виде разделенной запятой пары, состоящей из 'TextType'
и любой 'char'
или 'string'
.
'char'
— Импортируйте текстовые данные в MATLAB как векторы символов.
'string'
— Импортируйте текстовые данные в MATLAB как строковые массивы.
Пример: 'TextType','char'
'DatetimeType'
— Введите для импортированных данных о дате и времени'datetime'
(значение по умолчанию) | 'text'
| 'exceldatenum'
Файлы электронной таблицы толькоВведите для импортированных данных о дате и времени в виде разделенной запятой пары, состоящей из 'DatetimeType'
и одно из этих значений: 'datetime'
Текст
, или 'exceldatenum'
. Значение 'exceldatenum'
применимо только для файлов электронной таблицы и не допустим для текстовых файлов.
Значение | Введите для импортированных данных о дате и времени |
---|---|
'datetime' | MATLAB Для получения дополнительной информации смотрите |
'text' | Если
|
'exceldatenum' | Excel последовательные числа даты Последовательный номер даты является одним номером, равным номеру дней с данной ссылочной даты. Excel последовательные числа даты использует различную ссылочную дату, чем MATLAB последовательные числа даты. Для получения дополнительной информации о датах Excel смотрите |
Типы данных: char |
string
'VariableNamingRule'
— Отметьте, чтобы сохранить имена переменных'modify'
(значение по умолчанию) | 'preserve'
Отметьте, чтобы сохранить имена переменных в виде разделенной запятой пары, состоящей из VariableNamingRule
и любой true
, или false
.
'preserve'
— Сохраните имена переменных, которые не являются допустимыми идентификаторами MATLAB, такими как имена переменных, которые включают символы non-ASCII и пробелы.
'modify'
— Преобразуйте недопустимые имена переменных (как определено isvarname
функция) к допустимым идентификаторам MATLAB.
Начиная в R2019b, имена переменных и имена строки могут включать любые символы, включая символы non-ASCII и пробелы. Кроме того, они могут начать с любых символов, не только обозначает буквами. Переменная и имена строки не должны быть допустимыми идентификаторами MATLAB (как определено isvarname
функция. Чтобы сохранить эти имена переменных и имена строки, установите значение VariableNamingRule
к 'preserve'
.
Типы данных: char |
string
'Delimiter'
— Символ разделителя полейСимвол разделителя полей в виде разделенной запятой пары, состоящей из 'Delimiter'
и вектор символов, массив ячеек из символьных векторов или строка. Задайте Delimiter
использование любого допустимого символа, такого как запятая ','
или период '.'
.
Эта таблица приводит некоторые обычно используемые символы разделителя полей.
Спецификатор | Разделитель полей |
---|---|
| Запятая |
| Пробел |
| Вкладка |
| Точка с запятой |
| Вертикальная панель |
незаданный | Если незаданный, |
Чтобы обработать последовательные разделители как один разделитель, задайте Delimiter
как массив ячеек из символьных векторов. Кроме того, необходимо также задать MultipleDelimsAsOne
опция.
Пример: 'Delimiter',','
или 'Delimiter','comma'
Типы данных: char |
string
| cell
'HeaderLines'
— Линии, чтобы пропуститьЛинии, чтобы пропустить в начале файла в виде разделенной запятой пары, состоящей из 'HeaderLines'
и положительное целое число. Если незаданный, readtable
автоматически обнаруживает количество линий, чтобы пропустить.
Типы данных: single
| double
'Format'
ColumnFormat 'auto'
Формат столбца файла в виде разделенной запятой пары, состоящей из 'Format'
и вектор символов или строковый скаляр, имеющий один или несколько спецификаторов преобразования или 'auto'
. Спецификаторы преобразования совпадают со спецификаторами, принятыми textscan
функция.
Определение формата может значительно улучшить скорость для некоторых больших файлов. Если вы не задаете значение для Format
то readtable
использование %q
интерпретировать нечисловые столбцы. %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'
ExponentCharacters '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
-9A
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
.
Типы данных: логический
'Sheet'
— Рабочий лист, чтобы читать
(значение по умолчанию) | положительное целое число | вектор символов | строкаРабочий лист, чтобы читать в виде разделенной запятой пары, состоящей из '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 | Описание |
---|---|
Запуск ячейки | Задайте стартовую ячейку для данных как вектор символов или строковый скаляр или два элемента числовой вектор.
Используя стартовую ячейку, функция импорта автоматически обнаруживает степень данных путем начала импорта в ячейке запуска и окончания в последней пустой строке или области значений нижнего колонтитула. Пример:
|
Прямоугольная область значений | Укажите диапазон с помощью синтаксиса Пример: |
Незаданный или пустой | Если незаданный, Пример: Примечание: Используемая Область значений относится к прямоугольному фрагменту электронной таблицы, которая на самом деле содержит данные. |
Область значений строки | Можно идентифицировать область значений путем определения начала и конечного использования строк указатели строки 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
.
T
— Таблица OutputВыведите таблицу, возвращенную как таблица. Таблица может сохранить метаданные, такие как описания, переменные модули, имена переменных и имена строки. Для получения дополнительной информации смотрите раздел Properties table
.
Большие файлы в формате XLSX иногда медленно загружают. Для лучшей эффективности импорта и экспорта Microsoft рекомендует, чтобы вы использовали формат XLSB.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.