Считайте массив ячеек из файла
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
содержит данные в нескольких рабочих листах в течение многих лет между 1 996 и 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® path | Задайте имя файла в Пример:
| ||||||||
Файл в папке | Если файл не находится в текущей папке или в папке на пути 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 или числа. Используя указанный диапазон столбца, функция импорта автоматически обнаруживает степень строки путем чтения из первой непустой строки в конец данных или области значений нижнего колонтитула. Количество столбцов в заданной области должно совпадать с номером, заданным в Пример:
|
Запуск номера строки
| Задайте первую строку, содержащую данные с помощью индекса строки положительной скалярной величины. Используя заданный индекс строки, функция импорта автоматически обнаруживает степень данных путем чтения из заданной первой строки в конец данных или области значений нижнего колонтитула. Пример 5 |
Именованная область значений Excel
| В Excel можно создать имена, чтобы идентифицировать области значений в электронной таблице. Например, можно выбрать прямоугольный фрагмент электронной таблицы и вызвать ее Пример:
|
Незаданный или пустой
| Если незаданный, функция импорта автоматически обнаруживает используемую область значений. Пример:
Примечание: Используемая Область значений относится к прямоугольному фрагменту электронной таблицы, которая на самом деле содержит данные. Функция импорта автоматически обнаруживает используемую область значений путем обрезки любых начальных и конечных строк и столбцов, которые не содержат данные. Текст, который является только пробелом, рассматривается данными и получен в используемой области значений. |
Типы данных: char |
string
| double
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
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 двухбуквенный код, указывающий на язык.
Эта таблица приводит некоторые общие значения для локали.
Локаль | Язык | Страна |
---|---|---|
'de_DE' | Немецкий язык | Германия |
'en_GB' | Английский язык | Соединенное Королевство |
'en_US' | Английский язык | Соединенные Штаты |
'es_ES' | Испанский язык | Испания |
'fr_FR' | Французский язык | Франция |
'it_IT' | Итальянский язык | Италия |
'ja_JP' | Японский язык | Япония |
'ko_KR' | Корейский язык | Корея |
'nl_NL' | Нидерландский язык | Нидерланды |
'zh_CN' | Китайский язык (упрощен) | Китай |
При использовании %D
спецификатор формата, чтобы считать текст как datetime
значения, используйте DateLocale
задавать локаль, в которой функция импорта должна интерпретировать имена месяца и дня недели и сокращения.
Если вы задаете DateLocale
аргумент в дополнение к opts
настройки импорта, затем функция импорта использует заданное значение для DateLocale
аргумент, заменяя локаль задан в настройках импорта.
Пример: 'DateLocale','ja_JP'
ConsecutiveDelimitersRule
— Процедура, чтобы обработать последовательные разделители'split'
| 'join'
| 'error'
Процедура, чтобы обработать последовательные разделители в разделенном текстовом файле в виде одного из значений в этой таблице.
ConsecutiveDelimitersRule | Поведение |
---|---|
'split' | Разделите последовательные разделители в несколько полей. |
'join' | Соедините разделители в один разделитель. |
'error' | Возвратите ошибку и прервите операцию импорта. |
Типы данных: char |
string
LeadingDelimitersRule
— Процедура, чтобы управлять ведущими разделителями'keep'
| 'ignore'
| 'error'
Процедура, чтобы управлять ведущими разделителями в разделенном текстовом файле в виде одного из значений в этой таблице.
LeadingDelimitersRule | Поведение |
---|---|
'keep' | Сохраните разделитель. |
'ignore' | Проигнорируйте разделитель. |
'error' | Возвратите ошибку и прервите операцию импорта. |
TrailingDelimitersRule
— Процедура, чтобы справиться с запаздыванием разделителей'keep'
| 'ignore'
| 'error'
Процедура, чтобы справиться с запаздыванием разделителей в разделенном текстовом файле в виде одного из значений в этой таблице.
LeadingDelimitersRule | Поведение |
---|---|
'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
.
readtable
| readtimetable
| readmatrix
| readvars
| writecell
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.