readcell

Считайте массив ячеек из файла

Синтаксис

C = readcell(filename)
C = readcell(filename,opts)
C = readcell(___,Name,Value)

Описание

пример

C = readcell(filename) создает массив ячеек путем чтения данных в столбцах из файла.

readcell определяет формат файла от расширения файла:

  • .txt, .dat или .csv для файлов разделенного текста

  • .xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx или .ods для файлов электронной таблицы

пример

C = readcell(filename,opts) дополнительно использует настройки импорта opts.

пример

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 = 3x3 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 = 3x3 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               ''              0             ''              ''           ''           ''                 ''        
    1996      1          12            5         1252         1245        1511         1500           'HP'            610       'N905AW'            79                 75            58          11           7       'LAX'     'PHX'      370         3         18           0               ''              0             ''              ''           ''           ''                 ''        
    1996      1          16            2         1441         1445        1708         1721           'HP'            211       'N165AW'            87                 96            74         -13          -4       'RNO'     'PHX'      601         4          9           0               ''              0             ''              ''           ''           ''                 ''        
    1996      1           1            1         2258         2300        2336         2335           'HP'           1245       'N183AW'            38                 35            20           1          -2       'TUS'     'PHX'      110         6         12           0               ''              0             ''              ''           ''           ''                 ''        
    1996      1           4            4         1814         1814        1901         1910           'US'            683       'N963VJ'            47                 56            34          -9           0       'DTW'     'PIT'      201         6          7           0               ''              0             ''              ''           ''           ''                 ''        
    1996      1          31            3         1822         1820        1934         1925           'US'            757       'N912VJ'            72                 65            52           9           2       'PHL'     'PIT'      267         6         14           0               ''              0             ''              ''           ''           ''                 ''        
    1996      1          18            4          729          730         841          843           'US'           1564       'N941VJ'            72                 73            58          -2          -1       'DCA'     'PVD'      357         3         11           0               ''              0             ''              ''           ''           ''                 ''        
    1996      1          26            5         1704         1705        1829         1839           'NW'           1538       'N960N'             85                 94            69         -10          -1       'DTW'     'RIC'      456         3         13           0               ''              0             ''              ''           ''           ''                 ''        

Импортируйте десять строк данных для переменных 7, 8 и 9 из рабочего листа под названием '2007'. Область значений Excel 'G2:I11' представляет столбцы 7 через 9 и десять строк, запускающихся в строке 2 после имен переменных.

M = readcell('airlinesmall_subset.xlsx','Sheet','2007','Range','G2:I11')
M = 10x3 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 может взять одну из следующих форм.

Местоположение

Форма

Текущая папка или папка на пути MATLAB®

Задайте имя файла в filename.

Пример: 'myFile.txt'

Файл в папке

Если файл не находится в текущей папке или в папке на пути MATLAB, то задайте полное имя или относительный путь в filename.

Пример: 'C:\myFolder\myFile.xlsx'

Пример: 'dataDir\myFile.txt'

Удаленное местоположение

Если файл хранится в удаленном местоположении, то filename должен содержать полный путь файла, заданного как интернационализировавший идентификатор ресурса (IRI) формы:

scheme_name://path_to_file/my_file.ext

На основе вашего удаленного местоположения scheme_name может быть одним из значений в этой таблице.

Удаленное местоположениеscheme_name
Amazon S3™s3
Устройство хранения данных Windows Azure® Blobwasb, wasbs
HDFS™hdfs

Для получения дополнительной информации смотрите работу с Удаленными данными.

Пример: 's3://bucketname/path_to_file/my_file.csv'

  • Если filename включает расширение файла, то функция импорта определяет формат файла от расширения. В противном случае необходимо задать аргументы пары "имя-значение" 'FileType', чтобы указать на тип файла.

  • В системах Windows® с программным обеспечением Microsoft® Excel® функция импорта читает любой формат файла электронной таблицы Excel, распознанный вашей версией Excel.

  • Если ваша система не имеет Excel для Windows или если вы используете MATLAB Online™, функция импорта действует с набором свойств UseExcel к false и читает только файлы .xls, .xlsx, .xlsm, .xltx, and .xltm.

  • Для файлов разделенного текста функция импорта преобразовывает пустые поля в файле к любому NaN (для числовой переменной) или пустой символьный вектор (для текстовой переменной). Все строки в текстовом файле должны иметь то же количество разделителей. Функция импорта игнорирует незначительный пробел в файле.

Типы данных: char | string

Настройки импорта файла, заданные как SpreadsheetImportOptions, DelimitedTextImportOptions или объект FixedWidthImportOptions, создаются функцией detectImportOptions. Объект opts содержит свойства, которые управляют процессом импорта данных. Для получения дополнительной информации о свойствах каждого объекта смотрите соответствующую объектную страницу.

Тип файловВывод
Файлы электронной таблицыОбъект SpreadsheetImportOptions
Текстовые файлыОбъект DelimitedTextImportOptions
Текстовые файлы фиксированной шириныОбъект FixedWidthImportOptions

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'NumHeaderLines',5 указывает, что первые пять строк, которые предшествуют табличным данным, являются строками заголовка.

Текст и файлы электронной таблицы

свернуть все

Тип файла, заданного как пара, разделенная запятой, состоящая из 'FileType' и 'text' или 'spreadsheet'.

Задайте аргумент пары "имя-значение" 'FileType', когда filename не включает расширение файла или если расширение отличается от одного из следующего:

  • .txt, .dat или .csv для файлов разделенного текста

  • .xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx или .ods для файлов электронной таблицы

Пример: 'FileType','text'

Типы данных: char | string

Количество строк заголовка в файле, заданном как пара, разделенная запятой, состоящая из 'NumHeaderLines' и положительного целого числа. Если незаданный, функция импорта автоматически обнаруживает количество строк заголовка в файле.

Пример: 'NumHeaderLines',7

Типы данных: single | double

Ожидаемое количество переменных, заданных как пара, разделенная запятой, состоящая из 'ExpectedNumVariables' и положительного целого числа. Если незаданный, функция импорта автоматически обнаруживает количество переменных.

Типы данных: single | double

Фрагмент данных, чтобы читать из текста или файлов электронной таблицы, заданных как запятая разделенная пара, состоящая из 'Range' и вектора символов, представляет в виде строки скаляр или числовой вектор в одной из следующих форм.

Способы задать RangeОписание

Запуск ячейки

'Cell' или [row col]

Задайте стартовую ячейку для данных как вектор символов или представьте в виде строки скаляр или два элемента числовой вектор.

  • Вектор символов или скаляр строки, содержащий букву столбца и номер строки с помощью обозначения Excel A1. Например, A5 является идентификатором для ячейки на пересечении столбца A и строка 5.

  • Два элемента числовой вектор формы [row col], указывающий на стартовую строку и столбец.

Используя стартовую ячейку, функция импорта автоматически обнаруживает степень данных путем начала импорта в ячейке запуска и окончания в последней пустой строке или области значений нижнего колонтитула.

Пример: 'A5' или [5 1]

Прямоугольная область значений

'Corner1:Corner2' или [r1 c1 r2 c2]

Задайте точную область значений, чтобы считать использование прямоугольной области значений в одной из следующих форм.

  • 'Corner1:Corner2' — Задайте область значений с помощью Corner1 и Corner2, которые являются двумя противостоящими углами, которые задают область, чтобы читать в обозначении Excel A1. Например, 'C2:N15'.

  • [r1 c1 r2 c2] — Задайте область значений с помощью четырех элементов числовой вектор, содержащий начинать-строку, начальный столбец, строку конца и столбец конца. Например, [2 3 15 13].

Функция импорта только считывает данные, содержавшиеся в заданной области значений. Любые пустые поля в заданной области значений импортируются как недостающие ячейки.

Область значений строки или область значений столбца

'Row1:Row2' или 'Column1:Column2'

Задайте область значений путем идентификации начала и конечного использования строк номера строк Excel.

Используя заданную область значений строки, функция импорта автоматически обнаруживает степень столбца путем чтения из первого непустого столбца в конец данных и создает одну переменную для каждого столбца.

Пример: '5:500'

Также задайте область значений путем идентификации начала и конечного использования столбцов буквы столбца Excel или числа.

Используя заданную область значений столбца, функция импорта автоматически обнаруживает степень строки путем чтения из первой непустой строки в конец данных или области значений нижнего колонтитула.

Количество столбцов в заданной области значений должно совпадать с номером, заданным в свойстве ExpectedNumVariables.

Пример: 'A:K'

Запуск номера строки

n

Задайте первую строку, содержащую данные с помощью индекса строки положительной скалярной величины.

Используя заданный индекс строки, функция импорта автоматически обнаруживает степень данных путем чтения из заданной первой строки в конец данных или области значений нижнего колонтитула.

Пример 5

Именованная область значений Excel

'NamedRange'

В Excel можно создать имена, чтобы идентифицировать области значений в электронной таблице. Например, можно выбрать прямоугольный фрагмент электронной таблицы и вызвать ее 'myTable'. Если такие именованные области значений существуют в электронной таблице, то функция импорта может считать ту область значений с помощью своего имени.

Пример: 'Range','myTable'

Незаданный или пустой

''

Если незаданный, функция импорта автоматически обнаруживает используемую область значений.

Пример: 'Range',''

Примечание: Используемая Область значений относится к прямоугольному фрагменту электронной таблицы, которая на самом деле содержит данные. Функция импорта автоматически обнаруживает используемую область значений путем обрезки любого продвижения и запаздывающих строк и столбцов, которые не содержат данные. Текст, который является только пробелом, рассматривается данными и получен в используемой области значений.

Типы данных: char | string | double

Введите для данных об импортируемом тексте, заданных как пара, разделенная запятой, состоящая из 'TextType' и или 'char' или 'string'.

  • 'char' Импортируйте текстовые данные в MATLAB как векторы символов.

  • Строка Импортируйте текстовые данные в MATLAB как строковые массивы.

Пример: 'TextType','char'

Введите для импортированных данных о дате и времени, заданных как пара, разделенная запятой, состоящая из 'DatetimeType' и одно из этих значений: 'datetime', 'text' или 'exceldatenum'. Значение 'exceldatenum' применим только для файлов электронной таблицы и не допустим для текстовых файлов.

ЗначениеВведите для импортированных данных о дате и времени
'datetime'

MATLAB тип данных datetime

Для получения дополнительной информации смотрите datetime.

'text'

Если 'DatetimeType' задан как 'text', то тип для импортированных данных о дате и времени зависит от значения, заданного в параметре 'TextType':

  • Если 'TextType' установлен в 'char', то функция импорта возвращает даты как массив ячеек из символьных векторов.

  • Если 'TextType' установлен в 'string', то функция импорта возвращает даты как массив строк.

'exceldatenum'

Excel последовательные числа даты

Последовательный номер даты является одним номером, равным номеру дней с данной ссылочной даты. Excel последовательные числа даты использует различную ссылочную дату, чем MATLAB последовательные числа даты. Для получения дополнительной информации о датах Excel смотрите https://support.microsoft.com/en-us/kb/214330.

Типы данных: char | string

Текстовые файлы только

свернуть все

Символы разделителя полей, заданные как вектор символов, представляют в виде строки скаляр, массив ячеек из символьных векторов или массив строк.

Пример: 'Delimiter','|'

Пример: 'Delimiter',{';','*'}

Типы данных: char | string | cell

Символы, чтобы обработать как пробел, заданный как вектор символов или представить в виде строки скаляр, содержащий один или несколько символов.

Пример: 'Whitespace',' _'

Пример: 'Whitespace','?!.,'

Символы конца строки, заданные как вектор символов, представляют в виде строки скаляр, массив ячеек из символьных векторов или массив строк.

Пример: 'LineEnding','\n'

Пример: 'LineEnding','\r\n'

Пример: 'LineEnding',{'\b',':'}

Типы данных: char | string | cell

Стиль комментариев, заданных как вектор символов, представляет в виде строки скаляр, массив ячеек из символьных векторов или массив строк.

Например, чтобы проигнорировать текст после знака процента на той же строке, задайте CommentStyle как '%'.

Пример: 'CommentStyle',{'/*'}

Типы данных: char | string | cell

Схема кодировки символов сопоставлена с файлом, заданным как пара, разделенная запятой, состоящая из 'Encoding' и 'system' или имени схемы кодирования стандартного символа, такого как одно из значений в этой таблице.

'Big5'

'ISO-8859-1'

'windows-847'

'Big5-HKSCS'

'ISO-8859-2'

'windows-949'

'CP949'

'ISO-8859-3'

'windows-1250'

'EUC-KR'

'ISO-8859-4'

'windows-1251'

'EUC-JP'

'ISO-8859-5'

'windows-1252'

'EUC-TW'

'ISO-8859-6'

'windows-1253'

'GB18030'

'ISO-8859-7'

'windows-1254'

'GB2312'

'ISO-8859-8'

'windows-1255'

'GBK'

'ISO-8859-9'

'windows-1256'

'IBM866'

'ISO-8859-11'

'windows-1257'

'KOI8-R'

'ISO-8859-13'

'windows-1258'

'KOI8-U'

'ISO-8859-15'

'US-ASCII'

 

'Macintosh'

'UTF-8'

 

'Shift_JIS'

 

Пример: 'Encoding','system' использует кодирование системного значения по умолчанию.

Типы данных: char | string

Тип выходных данных данных о длительности из текстовых файлов, заданных как пара, разделенная запятой, состоящая из 'DurationType' и или 'duration' или 'text'.

ЗначениеВведите для импортированных данных о длительности
'duration'

MATLAB тип данных duration

Для получения дополнительной информации смотрите duration.

'text'

Если 'DurationType' задан как 'text', то тип для импортированных данных о длительности зависит от значения, заданного в параметре 'TextType':

  • Если 'TextType' установлен в 'char', то функция импорта возвращает данные о длительности как массив ячеек из символьных векторов.

  • Если 'TextType' установлен в 'string', то функция импорта возвращает данные о длительности как массив строк.

Типы данных: char | string

Локаль для чтения дат, заданных как пара, разделенная запятой, состоящая из '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'Возвратите ошибку и прервите операцию импорта.

Типы данных: char | string

Процедура, чтобы управлять ведущими разделителями, заданными как одно из значений в этой таблице.

LeadingDelimitersRule Поведение
'keep'Сохраните разделитель.
'ignore'Проигнорируйте разделитель.
'error'Возвратите ошибку и прервите операцию импорта.

Файлы электронной таблицы только

свернуть все

Покройте, чтобы читать из, заданный как пустой символьный массив, вектор символов или представить в виде строки скаляр, содержащий имя листа или положительное скалярное целое число, обозначающее индекс листа. На основе значения, заданного для свойства Sheet, функция импорта ведет себя, как описано в таблице.

СпецификацияПоведение
'' (значение по умолчанию)Импортируйте данные от первого листа.
ИмяИмпортируйте данные с соответствующего имени листа, независимо от порядка листов в файле электронной таблицы.
Целое числоИмпортируйте данные от листа в положении, обозначенном целым числом, независимо от имен листа в файле электронной таблицы.

Типы данных: char | string | single | double

Отметьте, чтобы запустить экземпляр Microsoft Excel для Windows при чтении данных об электронной таблице, заданных как пара, разделенная запятой, состоящая из 'UseExcel' и или true или false.

Когда чтение из файлов электронной таблицы на платформах Windows, если вы не хотите запускать экземпляр Microsoft Excel, затем установило параметр 'UseExcel' на false.

Можно установить параметр 'UseExcel' на одно из этих значений:

  • tRUE Функция импорта запускает экземпляр Microsoft Excel при чтении файла. Эта установка является значением по умолчанию для систем Windows с установленным Excel.

  • ложь Функция импорта не запускает экземпляр Microsoft Excel при чтении файла. На Windows без Excel, Mac и Linux®, значением по умолчанию является false. При работе в этом режиме функциональность функции импорта отличается в поддержку форматов файлов и интерактивных функций, таких как формулы и макросы.

UseExcel

true

false

Поддерживаемые форматы файлов

.xls, .xlsx, .xlsm, .xltx, .xltm, .xlsb, .ods

.xls, .xlsx, .xlsm, .xltx, .xltm

Поддержка интерактивных функций, таких как формулы и макросы

Да

Нет

Смотрите также

| | | |

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте