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 =

,

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

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 вызывает функцию helper, чтобы считать данные. Когда функция helper возвращает больше одного непустого выходы, 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 поле в структуру output, где:

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

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

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

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

Совет

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

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