importdata

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

Синтаксис

A = importdata(filename)
A = importdata('-pastespecial')
A = importdata(___,delimiterIn)
A = importdata(___,delimiterIn,headerlinesIn)
[A,delimiterOut,headerlinesOut] = 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)

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

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

FileFormat Возможные поляКласс

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