Считайте массив ячеек из файла
C = readcell(
создает массив ячеек путем чтения ориентированных на столбцы данных из файла.filename
)
readcell
определяет формат файла из расширения файла:
.txt
, .dat
, или .csv
для текстовых файлов с разделителями
.xls
, .xlsb
, .xlsm
, .xlsx
, .xltm
, .xltx
, или .ods
для файлов электронной таблицы
C = readcell(___,
создает массив ячеек из файла с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Используйте любой из входных параметров из предыдущих синтаксисов перед указанием пар "имя-значение".Name,Value
)
Чтобы задать конкретные настройки импорта для ваших данных, можно либо использовать opts
Объект или можно задать пары "имя-значение". Когда вы задаете пары "имя-значение" в дополнение к opts
, затем readcell
поддерживает только эти пары "имя-значение":
Текстовые файлы - DateLocale
, Encoding
Файлы электронной таблицы - Sheet
, UseExcel
Отображение содержимого basic_cell.txt
, а затем импортируйте смешанные данные в массив ячеек.
type basic_cell.txt
1,2,3 hello,world,NaN 10-Oct-2018 10:27:56,1,
C = readcell('basic_cell.txt')
C=3×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'hello' } {'world'} {[ NaN]}
{[10-Oct-2018 10:27:56]} {[ 1]} {1x1 missing}
Импорт смешанных табличных данных из basic_cell.xls
в массив ячеек.
C = readcell('basic_cell.xls')
C=3×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'hello' } {'world'} {1x1 missing}
{[10-Oct-2018 10:27:56]} {[ 1]} {1x1 missing}
Предварительный просмотр данных из файла электронной таблицы и импорт смешанных данных в массив ячеек с заданного листа и области значений.
Файл электронной таблицы airlinesmall_subset.xlsx
содержит данные в нескольких таблицах за годы с 1996 по 2008 год. Каждый лист имеет данные за определенный год. Предварительный просмотр данных из файловой airlinesmall_subset.xlsx
. The preview
функция по умолчанию показывает данные из первого листа.
opts = detectImportOptions('airlinesmall_subset.xlsx'); preview('airlinesmall_subset.xlsx',opts)
ans=8×29 table
Year Month DayofMonth DayOfWeek DepTime CRSDepTime ArrTime CRSArrTime UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime AirTime ArrDelay DepDelay Origin Dest Distance TaxiIn TaxiOut Cancelled CancellationCode Diverted CarrierDelay WeatherDelay SDelay SecurityDelay LateAircraftDelay
____ _____ __________ _________ _______ __________ _______ __________ _____________ _________ __________ _________________ ______________ _______ ________ ________ _______ _______ ________ ______ _______ _________ ________________ ________ ____________ ____________ __________ _____________ _________________
1996 1 18 4 2117 2120 2305 2259 {'HP'} 415 {'N637AW'} 108 99 85 6 -3 {'COS'} {'PHX'} 551 5 18 0 {0x0 char} 0 {0x0 char} {0x0 char} {0x0 char} {0x0 char} {0x0 char}
1996 1 12 5 1252 1245 1511 1500 {'HP'} 610 {'N905AW'} 79 75 58 11 7 {'LAX'} {'PHX'} 370 3 18 0 {0x0 char} 0 {0x0 char} {0x0 char} {0x0 char} {0x0 char} {0x0 char}
1996 1 16 2 1441 1445 1708 1721 {'HP'} 211 {'N165AW'} 87 96 74 -13 -4 {'RNO'} {'PHX'} 601 4 9 0 {0x0 char} 0 {0x0 char} {0x0 char} {0x0 char} {0x0 char} {0x0 char}
1996 1 1 1 2258 2300 2336 2335 {'HP'} 1245 {'N183AW'} 38 35 20 1 -2 {'TUS'} {'PHX'} 110 6 12 0 {0x0 char} 0 {0x0 char} {0x0 char} {0x0 char} {0x0 char} {0x0 char}
1996 1 4 4 1814 1814 1901 1910 {'US'} 683 {'N963VJ'} 47 56 34 -9 0 {'DTW'} {'PIT'} 201 6 7 0 {0x0 char} 0 {0x0 char} {0x0 char} {0x0 char} {0x0 char} {0x0 char}
1996 1 31 3 1822 1820 1934 1925 {'US'} 757 {'N912VJ'} 72 65 52 9 2 {'PHL'} {'PIT'} 267 6 14 0 {0x0 char} 0 {0x0 char} {0x0 char} {0x0 char} {0x0 char} {0x0 char}
1996 1 18 4 729 730 841 843 {'US'} 1564 {'N941VJ'} 72 73 58 -2 -1 {'DCA'} {'PVD'} 357 3 11 0 {0x0 char} 0 {0x0 char} {0x0 char} {0x0 char} {0x0 char} {0x0 char}
1996 1 26 5 1704 1705 1829 1839 {'NW'} 1538 {'N960N' } 85 94 69 -10 -1 {'DTW'} {'RIC'} 456 3 13 0 {0x0 char} 0 {0x0 char} {0x0 char} {0x0 char} {0x0 char} {0x0 char}
Импортируйте десять строк данных для переменных 7
, 8
, и 9
из листа с именем '2007'
. Область значений 'G2:I11'
представляет столбцы 7
через 9
и десять строк, начиная с строки 2
после имен переменных.
M = readcell('airlinesmall_subset.xlsx','Sheet','2007','Range','G2:I11')
M=10×3 cell array
{[ 935]} {[ 935]} {'WN'}
{[1041]} {[1040]} {'WN'}
{[1430]} {[1500]} {'WN'}
{[ 940]} {[ 950]} {'WN'}
{[1515]} {[1515]} {'WN'}
{[2042]} {[2035]} {'WN'}
{[2116]} {[2130]} {'WN'}
{[1604]} {[1605]} {'WN'}
{[1258]} {[1230]} {'WN'}
{[1134]} {[1145]} {'WN'}
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
.
'NumHeaderLines',5
указывает, что первые пять линии, предшествующих табличным данным, являются линиями заголовка.'FileType'
- Тип файла'text'
| 'spreadsheet'
Тип файла, заданный как разделенная разделенными запятой парами, состоящая из 'FileType'
и 'text'
или 'spreadsheet'
.
Задайте 'FileType'
аргумент пары "имя-значение", когда filename
не включает расширение файла или если расширение отличается от одного из следующих:
.txt
, .dat
, или .csv
для текстовых файлов с разделителями
.xls
, .xlsb
, .xlsm
, .xlsx
, .xltm
, .xltx
, или .ods
для файлов электронной таблицы
Пример: 'FileType','text'
Типы данных: char
| string
'NumHeaderLines'
- Количество строк заголовкаКоличество линий заголовка в файле, заданное как разделенная разделенными запятой парами, состоящая из 'NumHeaderLines'
и положительное целое число. Если не задано, функция импорта автоматически определяет количество линий заголовка в файле.
Пример: 'NumHeaderLines',7
Типы данных: single
| double
'ExpectedNumVariables'
- Ожидаемое количество переменныхОжидаемое количество переменных, заданное как разделенная разделенными запятой парами, состоящая из 'ExpectedNumVariables'
и положительное целое число. Если не задано, функция импорта автоматически обнаруживает количество переменных.
Типы данных: single
| double
'Range'
- Фрагмент данных для чтенияФрагменты данных для чтения из текста или файлов электронной таблицы, заданные как разделенная запятыми пара, состоящая из 'Range'
и вектор символов, строковый скаляр или числовой вектор в одной из этих форм.
Способы задать Range | Описание |
---|---|
Стартовая камера
| Задайте стартовую камеру для данных в виде вектора символов или строкового скаляра или двухчислового элемента.
Используя стартовую камеру, функция импорта автоматически обнаруживает степень данных, начав импорт в стартовой камере и закончив в последней пустой области значений строки или нижнего колонтитула. Пример:
'A5' |
Прямоугольная область значений
| Укажите точную область значений для чтения с помощью прямоугольной области значений в одной из этих форм.
Функция импорта считывает только данные, содержащиеся в заданной области. Все пустые поля в заданной области импортируются как отсутствующие камеры. |
Область значений строк или область значений столбцов
| Задайте область значений путем идентификации начальной и конечной строк с помощью номеров строк Excel. Используя указанную область значений строк, функция импорта автоматически обнаруживает экстент столбца, считывая из первого непустого столбца в конец данных, и создает по одной переменной на столбец. Пример:
'5:500' Кроме того, укажите область значений путем идентификации начального и конечного столбцов с помощью букв или цифр столбца Excel. Используя заданную область значений столбцов, функция импорта автоматически обнаруживает объем строки, считывая из первой непустой строки в конец данных или нижнего колонтитула. Количество столбцов в заданной области должно совпадать с количеством, заданным в Пример:
'A:K' |
Начальный номер строки
| Укажите первую строку, содержащую данные, используя положительный скалярный индекс строки. Используя указанный индекс строки, функция импорта автоматически обнаруживает степень данных, считывая из указанной первой строки в конец данных или нижнего колонтитула. Пример: |
Именованные Области значений Excel
| В Excel можно создать имена для идентификации областей значений в электронной таблице. Например, можно выбрать прямоугольный фрагмент электронной таблицы и вызвать ее Пример:
'Range','myTable' |
Не заданные или пустые
| Если не задано, функция импорта автоматически обнаруживает используемую область значений. Пример:
'Range','' Примечание: Used Range относится к прямоугольному фрагменту электронной таблицы, которая на самом деле содержит данные. Функция импорта автоматически обнаруживает используемую область значений, обрезая все начальные и конечные строки и столбцы, которые не содержат данных. Текст, который является только белым пространством, рассматривается как данные и захватывается в пределах используемой области значений. |
Типы данных: char
| string
| double
'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
'Delimiter'
- Символы разделителя полейСимволы разделителя полей в текстовом файле с разделителем, заданные как вектор символов, строковый скаляр, массив ячеек из векторов символов или строковые массивы.
Пример: 'Delimiter','|'
Пример: 'Delimiter',{';','*'}
Типы данных: char
| string
| cell
'Whitespace'
- Символы для лечения как пустое пространствоСимволы для обработки как пустое пространство, заданные как вектор символов или строковый скаляр, содержащий один или несколько символов.
Пример: 'Whitespace',' _'
Пример: 'Whitespace','?!.,'
'LineEnding'
- Символы в конце строки{'\n','\r','\r\n'}
(по умолчанию) | символьный вектор | строковый скаляр | массив ячеек из векторов символов | строковые массивыСимволы в конце строки, заданные как вектор символов, строковый скаляр, массив ячеек из векторов символов или строковые массивы.
Пример: 'LineEnding','\n'
Пример: 'LineEnding','\r\n'
Пример: 'LineEnding',{'\b',':'}
Типы данных: char
| string
| cell
'CommentStyle'
- Стиль комментариевСтиль комментариев, заданный как вектор символов, строковый скаляр, массив ячеек из векторов символов или строковые массивы.
Для примера, чтобы игнорировать текст, следующий за процентным знаком на той же линии, задайте CommentStyle
как '%'
.
Пример: 'CommentStyle',{'/*'}
Типы данных: char
| string
| cell
'Encoding'
- Схема кодирования символов'UTF-8'
| 'ISO-8859-1'
| 'windows-1251'
| 'windows-1252'
| ...Схема кодирования символов, сопоставленная с файлом, задается как разделенная разделенными запятой парами, состоящая из 'Encoding'
и 'system'
или стандартное имя схемы кодирования символов. Когда вы не задаете никакую кодировку, readcell
функция использует автоматическое обнаружение набора символов, чтобы определить кодировку при чтении файла.
Если вы задаете 'Encoding'
аргумент в дополнение к настройкам импорта, затем readcell
функция использует заданное значение для 'Encoding'
, переопределяющая кодировку, заданную в настройках импорта.
Пример: 'Encoding','UTF-8'
использует UTF-8 в качестве кодировки.
Пример: 'Encoding','system'
использует системную кодировку по умолчанию.
Типы данных: char
| string
'DurationType'
- Выход данных данных длительности'duration'
(по умолчанию) | 'text'
Выход данных данных длительности из текстовых файлов, заданный как разделенная разделенными запятой парами, состоящая из 'DurationType'
и любой из них 'duration'
или 'text'
.
Значение | Тип для импортированных данных длительности |
---|---|
'duration' | MATLAB- Для получения дополнительной информации см. |
'text' | Если
|
Типы данных: 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'
'ConsecutiveDelimitersRule'
- Процедура обработки последовательных разделителей'split'
| 'join'
| 'error'
Процедура обработки последовательных разделителей в текстовом файле с разделителем, заданная как одно из значений в этой таблице.
Правило последовательных разделителей | Поведение |
---|---|
'split' | Разделите последовательные разделители на несколько полей. |
'join' | Объедините разделители в один разделитель. |
'error' | Верните ошибку и прервите операцию импорта. |
Типы данных: char
| string
'LeadingDelimitersRule'
- Процедура управления ведущими разделителями'keep'
| 'ignore'
| 'error'
Процедура управления ведущими разделителями в текстовом файле с разделителем, заданная в качестве одного из значений в этой таблице.
Правило ведущих разделителей | Поведение |
---|---|
'keep' | Сохраните разделитель. |
'ignore' | Игнорируйте разделитель. |
'error' | Верните ошибку и прервите операцию импорта. |
'TrailingDelimitersRule'
- Процедура управления конечными разделителями'keep'
| 'ignore'
| 'error'
Процедура управления конечными разделителями в текстовом файле с разделителем, заданная как одно из значений в этой таблице.
Правило ведущих разделителей | Поведение |
---|---|
'keep' | Сохраните разделитель. |
'ignore' | Игнорируйте разделитель. |
'error' | Верните ошибку и прервите операцию импорта. |
'Sheet'
- Лист для чтения с''
пустой символьный массив (по умолчанию) | вектор символов | строковый скаляр | положительное скалярное целое числоЛист для чтения, заданный как пустой символьный массив, вектор символов или строковый скаляр, содержащий имя листа, или положительное скалярное целое число, обозначающее индекс листа. На основе значения, заданного для Sheet
свойство, функция импорта ведет себя так, как описано в таблице.
Спецификация | Поведение |
---|---|
'' (по умолчанию) | Импортируйте данные с первого листа. |
Имя | Импортируйте данные из соответствующего имени листа независимо от порядка листов в файле электронной таблицы. |
Целое число | Импортируйте данные из листа в положение, обозначенное целым числом, независимо от имен листов в файле электронной таблицы. |
Типы данных: char
| string
| single
| double
'UseExcel'
- флаг для запуска образца Microsoft Excel для Windowsfalse
(по умолчанию) | true
Флаг для запуска образца Microsoft Excel для Windows при чтении данных электронных таблиц, заданный как разделенная разделенными запятой парами, состоящая из 'UseExcel'
и любой из них true
, или false
.
Можно задать 'UseExcel'
параметр к одному из следующих значений:
true
- функция импорта запускает образец Microsoft Excel при чтении файла.
false
- функция импорта не запускает образец Microsoft Excel при чтении файла. При работе в этом режиме функциональность импортирующей функции отличается поддержкой форматов файлов и интерактивных функций, таких как формулы и макросы.
UseExcel |
|
|
---|---|---|
Поддерживаемые форматы файлов |
|
|
Поддержка интерактивных функций, таких как формулы и макросы | Да | Нет |
При чтении из файлов электронной таблицы на платформах Windows, если необходимо запустить образец Microsoft Excel, установите 'UseExcel'
параметр в true
.
readmatrix
| readtable
| readtimetable
| readvars
| writecell
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.