exponenta event banner

importdata

Загрузить данные из файла

Описание

пример

A = importdata(filename) загружает данные в массив A.

пример

A = importdata('-pastespecial') загружает данные из системного буфера обмена, а не из файла.

A = importdata(___,delimiterIn) интерпретирует delimiterIn в качестве разделителя столбцов в файле ASCII, filenameили данные буфера обмена. Вы можете использовать delimiterIn с любым из входных аргументов в приведенных выше синтаксисах.

пример

A = importdata(___,delimiterIn,headerlinesIn) загружает данные из файла ASCII, filenameили буфер обмена, считывающий числовые данные, начиная со строки headerlinesIn+1.

пример

[A,delimiterOut,headerlinesOut] = importdata(___) дополнительно возвращает обнаруженный символ разделителя для входного ASCII-файла в delimiterOut и обнаруженное количество строк заголовка в headerlinesOut, используя любой из входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Импорт и отображение образца изображения, ngc6543a.jpg.

A = importdata('ngc6543a.jpg');
image(A)

Figure contains an axes. The axes contains an object of type image.

Выходные данные, A, является классом uint8 потому что функция помощника, imread, возвращает пустые результаты для colormap и alpha.

С помощью текстового редактора создайте ASCII-файл с разделителями с заголовками столбцов myfile01.txt.

Day1  Day2  Day3  Day4  Day5  Day6  Day7
95.01 76.21 61.54 40.57  5.79 20.28  1.53
23.11 45.65 79.19 93.55 35.29 19.87 74.68
60.68  1.85 92.18 91.69 81.32 60.38 44.51
48.60 82.14 73.82 41.03  0.99 27.22 93.18
89.13 44.47 17.63 89.36 13.89 19.88 46.60

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

filename = 'myfile01.txt';
delimiterIn = ' ';
headerlinesIn = 1;
A = importdata(filename,delimiterIn,headerlinesIn);

Просмотр столбцов 3 и 5.

for k = [3, 5]
   disp(A.colheaders{1, k})
   disp(A.data(:, k))
   disp(' ')
end
Day3
   61.5400
   79.1900
   92.1800
   73.8200
   17.6300

 
Day5
    5.7900
   35.2900
   81.3200
    0.9900
   13.8900

С помощью текстового редактора создайте ASCII-файл с разделителями-запятыми myfile02.txt.

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

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

filename = 'myfile02.txt';
[A,delimiterOut]=importdata(filename)
A =

     1     2     3
     4     5     6
     7     8     9


delimiterOut =

,

Скопируйте следующие строки в буфер обмена. Выделите текст, щелкните правой кнопкой мыши и выберите «Копировать».

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

Импортируйте данные буфера обмена в MATLAB ®, введя следующее.

A = importdata('-pastespecial')
A =

     1     2     3
     4     5     6
     7     8     9

Входные аргументы

свернуть все

Имя и расширение импортируемого файла, указанное как символьный вектор или строковый скаляр. Если importdata распознает расширение файла, вызывает вспомогательную функцию MATLAB, предназначенную для импорта связанного формата файла (например, load для файлов MAT или xlsread для электронных таблиц). В противном случае importdata интерпретирует файл как файл ASCII с разделителями.

Для файлов ASCII и электронных таблиц: importdata ожидает найти числовые данные в прямоугольном виде (то есть подобно матрице). Текстовые заголовки могут отображаться выше или слева от числовых данных следующим образом:

  • Заголовки столбцов или текст описания файла в верхней части файла, над числовыми данными.

  • Заголовки строк слева от числовых данных.

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

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

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

Пример: ','

Пример: ' '

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

Число строк заголовка текста в ASCII-файле, указанное как неотрицательное скалярное целое число. Если не указать headerlinesIn, importdata функция обнаруживает это значение в файле.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Данные из файла, возвращаемые в виде матрицы, многомерного массива или массива скалярной структуры, в зависимости от характеристик файла. На основе формата входного файла, importdata вызывает вспомогательную функцию для считывания данных. Когда вспомогательная функция возвращает несколько непустых выходных данных, importdata объединяет выходные данные в struct массив.

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

Формат файлаВозможные поляКласс

Файлы MAT

Одно поле для каждой переменной

Связано с каждой переменной.

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

data
textdata
colheaders
rowheaders

Для файлов ASCII: data содержит double массив. Другие поля содержат cell массивы символьных векторов. textdata включает заголовки строк и столбцов.
Для электронных таблиц каждое поле содержит struct, с одним полем для каждого листа.

Изображения

cdata
colormap
alpha

Посмотрите imread.

Аудиофайлы

data
fs

Посмотрите audioread.

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

Если файл или электронная таблица ASCII содержит либо заголовки столбцов, либо заголовки строк, но не оба, importdata возвращает colheaders или rowheaders поле в структуре вывода, где:

  • colheaders содержит только последнюю строку текста заголовка столбца. importdata сохраняет весь текст в textdata поле.

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

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

Обнаружено число строк текстового заголовка во входном файле ASCII, возвращаемое как целое число.

Совет

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

Представлен до R2006a