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

данные
textdata
colheaders
rowheaders

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

Изображения

cData
палитра
\alpha

Смотрите imread.

Звуковые файлы

данные
fs

Смотрите audioread.

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

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

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

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

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

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

Советы

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

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

Была ли эта тема полезной?