Чтение массива ячеек из файла
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.txt1,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. 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'. Диапазон Excel '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 ® | Укажите имя файла в Пример:
| ||||||||
Файл в папке | Если файл находится не в текущей папке или в папке по пути MATLAB, укажите полный или относительный путь в Пример:
Пример:
| ||||||||
| URL-адрес в Интернете | Если файл указан как URL-адрес унифицированного ресурса Интернета, то Пример:
| ||||||||
Удаленное расположение | Если файл хранится в удаленном местоположении, то
На основе удаленного местоположения,
Дополнительные сведения см. в разделе Работа с удаленными данными. Пример:
|
Если 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 | XMLImportOptionsПараметры импорта файлов, указанные как SpreadsheetImportOptions, DelimitedTextImportOptions, FixedWidthImportOptions, или XMLImportOptions объект, созданный detectImportOptions функция. 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 | Описание |
|---|---|
Начальная ячейка
| Укажите начальную ячейку для данных в виде символьного или строкового скалярного или двухэлементного числового вектора.
С помощью начальной ячейки функция импорта автоматически определяет объем данных, начиная импорт в начальной ячейке и заканчивая последней пустой строкой или нижним колонтитулом. Пример:
|
Прямоугольный диапазон
| Укажите точный диапазон для чтения с использованием прямоугольного диапазона в одной из этих форм.
Функция импорта считывает только данные, содержащиеся в указанном диапазоне. Все пустые поля в указанном диапазоне импортируются как отсутствующие ячейки. |
Диапазон строк или диапазон столбцов
| Укажите диапазон, определив начальную и конечную строки с помощью номеров строк Excel. Используя указанный диапазон строк, функция импорта автоматически обнаруживает экстент столбца, считывая от первого непустого столбца до конца данных, и создает одну переменную на столбец. Пример:
Можно также указать диапазон, определив начальный и конечный столбцы с помощью букв или цифр столбцов Excel. Используя указанный диапазон столбцов, функция импорта автоматически обнаруживает экстент строки, считывая от первой непустой строки до конца диапазона данных или нижнего колонтитула. Число столбцов в указанном диапазоне должно соответствовать числу, указанному в Пример:
|
Начальный номер строки
| Укажите первую строку, содержащую данные, используя положительный скалярный индекс строки. Используя указанный индекс строки, функция импорта автоматически определяет объем данных, считывая от указанной первой строки до конца диапазона данных или нижнего колонтитула. Пример: |
Именованный диапазон Excel
| В Excel можно создавать имена для идентификации диапазонов в электронной таблице. Например, можно выбрать прямоугольную часть электронной таблицы и вызвать ее Пример:
|
Не указан или пуст
| Если значение не указано, функция импорта автоматически обнаруживает используемый диапазон. Пример:
Примечание.Используемый диапазон относится к прямоугольной части электронной таблицы, которая фактически содержит данные. Функция импорта автоматически обнаруживает используемый диапазон путем обрезки всех начальных и конечных строк и столбцов, не содержащих данных. Текст, который является только пробелом, считается данными и фиксируется в пределах используемого диапазона. |
Типы данных: 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.