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

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

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

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

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

Советы

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

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