readmatrix

Считайте матрицу из файла

Синтаксис

A = readmatrix(filename)
A = readmatrix(filename,opts)
A = readmatrix(___,Name,Value)

Описание

пример

A = readmatrix(filename) создает массив путем чтения данных в столбцах из файла. Функция readmatrix выполняет автоматическое обнаружение параметров импорта для вашего файла.

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

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

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

Для файлов, содержащих, смешался числовой и текстовые данные, readmatrix импортирует данные как числовой массив по умолчанию.

пример

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

пример

A = readmatrix(___,Name,Value) создает массив из файла с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Используйте любой из входных параметров от предыдущих синтаксисов прежде, чем задать пары "имя-значение".

Чтобы установить определенные настройки импорта для ваших данных, можно или использовать объект opts, или можно задать пары "имя-значение". Когда вы задаете пары "имя-значение" в дополнение к opts, затем readmatrix поддерживает только эти пары "имя-значение":

  • Текстовые файлы — DateLocale, Encoding

  • Файлы электронной таблицы — Sheet, UseExcel

Примеры

свернуть все

Отобразите содержимое basic_matrix.txt и затем импортируйте данные в матрицу.

type basic_matrix.txt
6,8,3,1
5,4,7,3
1,6,7,10
4,2,8,2
2,7,5,9
M = readmatrix('basic_matrix.txt')
M = 5×4

     6     8     3     1
     5     4     7     3
     1     6     7    10
     4     2     8     2
     2     7     5     9

Импортируйте числовые данные от basic_matrix.xls в матрицу.

M = readmatrix('basic_matrix.xls')
M = 5×4

     6     8     3     1
     5     4     7     3
     1     6     7    10
     4     2     8     2
     2     7     5     9

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

Файл электронной таблицы 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             ''              ''           ''           ''                 ''        

Сконфигурируйте значения в объекте opts импортировать строки 10 для первых пяти переменных из рабочего листа под названием '2007'.

opts.Sheet = '2007';
opts.SelectedVariableNames = [1:5]; 
opts.DataRange = '2:11';
M = readmatrix('airlinesmall_subset.xlsx',opts)
M = 10×5

        2007           1           2           2         711
        2007           1           3           3         652
        2007           1           4           4        1116
        2007           1           5           5         825
        2007           1           7           7        1411
        2007           1           8           1        1935
        2007           1           9           2        2005
        2007           1          11           4        1525
        2007           1          12           5        1133
        2007           1          13           6         922

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

Файл электронной таблицы 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             ''              ''           ''           ''                 ''        

Импортируйте строки 10 первых переменных 5 из рабочего листа под названием '2007'.

M = readmatrix('airlinesmall_subset.xlsx','Sheet','2007','Range','A2:E11')
M = 10×5

        2007           1           2           2         711
        2007           1           3           3         652
        2007           1           4           4        1116
        2007           1           5           5         825
        2007           1           7           7        1411
        2007           1           8           1        1935
        2007           1           9           2        2005
        2007           1          11           4        1525
        2007           1          12           5        1133
        2007           1          13           6         922

Входные параметры

свернуть все

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

В зависимости от местоположения вашего файла 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

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

Пример: 'TreatAsMissing',{'NA','TBD'} дает функции импорта команду обрабатывать любое вхождение NA или TBD как недостающие поля.

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

Тип выходных данных, заданный как пара, разделенная запятой, состоящая из 'OutputType' и вектора символов или скаляра строки, содержащего имя любого из типов данных в этой таблице.

Тип данныхТип выходных данных
Числовой'uint8', 'int8', 'int16', 'int32', 'int64', 'uint16', 'uint32', 'uint64', 'single' или 'double'
Текст'char' или 'string'
Другие типы'datetime', 'duration' или 'categorical'

Пример: 'OutputType','uint8'

Типы данных: 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

Локаль для чтения дат, заданных как пара, разделенная запятой, состоящая из 'DateLocale' и вектора символов или скаляра строки формы xx_YY, где:

  • YY является прописной альфой ISO 3166-1 2 кода, указывающие на страну.

  • xx является строчный ISO 639-1 двухбуквенный код, указывающий на язык.

Для списка общих ценностей для локали смотрите аргумент пары "имя-значение" Locale для функции datetime.

При использовании спецификатора формата %D, чтобы считать текст как значения datetime, используйте DateLocale, чтобы задать локаль, в которой функция импорта должна интерпретировать имена месяца и дня недели и сокращения.

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

Пример: 'DateLocale','ja_JP'

Символы, указывающие на десятичный разделитель в числовых переменных, заданных как вектор символов или скаляр строки. Функция импорта использует символы, заданные в паре "имя-значение" DecimalSeparator, чтобы отличить целую часть номера от десятичной части.

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

Пример: Если пара "имя-значение" задана как 'DecimalSeparator',',', то функция импорта импортирует текст "3,14159" как номер 3.14159.

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

Символы, которые указывают на тысячи группировки в числовых переменных, заданных как вектор символов, или представляют скаляр в виде строки. Тысячи группирующихся символов действуют как визуальные разделители, группируя номер в каждых трех значениях места. Функция импорта использует символы, заданные в паре "имя-значение" ThousandsSeparator, чтобы интерпретировать импортируемые числа.

Пример: Если пара "имя-значение" задана как 'ThousandsSeparator',',', то функция импорта импортирует текст "1,234,000" как 1234000.

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

Удалите нечисловые символы из числовой переменной, заданной как логический true или false.

Пример: Если пара "имя-значение" задана как 'TrimNonNumeric',true, то функция импорта читает '$500/-' как 500.

Типы данных: логический

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

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