Импортируйте данные о текстовом файле Используя Import Tool

Импортируйте данные из текстового файла путем выбора данных в интерактивном режиме. Также можно повторить эту операцию импорта на нескольких текстовых файлах при помощи сгенерировать функции кода инструмента импорта.

Интерактивный выбор данных

Этот пример показывает, как импортировать данные из текстового файла с заголовками столбцов и числовыми данными с помощью Import Tool. Файл в примере, grades.txt, содержит эти данные:

   John    Ann     Mark    Rob
   88.4    91.5    89.2    77.3
   83.2    88.0    67.8    91.0
   77.8    76.3            92.5
   92.1    96.4    81.2    84.6

Чтобы создать файл, скопируйте и вставьте данные с помощью любого текстового редактора.

На вкладке Home, в разделе Variable, нажимают Import Data . Также щелкните правой кнопкой по имени файла в Браузере текущей папки и выберите Import Data. Import Tool открывается.

Import Tool распознает, что grades.txt является файлом с фиксированной шириной. В разделе Imported Data выберите, как вы хотите, чтобы данные были импортированы. Следующая таблица указывает, как данные импортированы в зависимости от опции, которую вы выбираете.

Выбранная опцияКак Данные Импортированы
ТаблицаИмпортируйте выбранные данные как таблицу.
Вектор-столбцыИмпортируйте каждый столбец выбранных данных как отдельный m-by-1 вектор.
Числовая матрицаИмпортируйте выбранные данные как m-by-n числовой массив.
StringArrayИмпортируйте выбранные данные как массив строк, который содержит текст.
CellArrayИмпортируйте выбранные данные как массив ячеек, который может содержать несколько типов данных, таких как числовые данные и текст.

Под Delimiter Options можно задать, должен ли Import Tool использовать период или запятую как десятичный разделитель для числовых значений.

Дважды кликните имя переменной, чтобы переименовать его.

Также можно использовать Variable Names Row, окружают раздел Selection, чтобы выбрать строку в текстовом файле, который вы хотите, чтобы Import Tool использовал для имен переменных.

Import Tool подсвечивает неимпортируемые ячейки. Неимпортируемые ячейки являются ячейками, которые содержат данные, которые не могут быть импортированы в формате, заданном для того столбца. В этом примере ячейка в строке 3, столбце C, рассматривается неимпортируемой, потому что пустая ячейка не является числовой. Цвета подсветки соответствуют предложенным правилам превратить совпадение данных в числовой массив. Можно добавить, удалить, переупорядочить или отредактировать правила, такие как изменение заменяющего значения от NaN до другого значения.

Все правила применяются к импортированным данным только и не изменяют данные в файле. Любое время, которое вы импортируете в матрицу или в числовые вектор-столбцы и область значений, включает нечисловые данные, затем необходимо задать правила.

Чтобы видеть, как ваши данные импортированы, установите курсор на отдельные ячейки.

Когда вы нажимаете кнопку Import Selection, Import Tool создает переменные в вашей рабочей области.

Для получения дополнительной информации о взаимодействии с Import Tool посмотрите этот ролик.

Импортирование данных от нескольких текстовых файлов

Чтобы выполнить ту же операцию импорта на нескольких файлах, используйте функцию генерации кода Import Tool. Если вы импортируете файл одно время и генерируете код от Import Tool, можно использовать этот код, чтобы облегчить повторять операцию. Import Tool генерирует скрипт программы, который можно отредактировать и запустить, чтобы импортировать файлы или функцию, что можно призвать к каждому файлу.

Предположим, что у вас есть набор текстовых файлов в текущей папке. Файлы называют myfile01.txt через myfile25.txt, и вы хотите импортировать данные из каждого файла, начинающего со второй строки. Сгенерируйте код для импорта всего набора файлов следующим образом:

  1. Откройте один из файлов в Import Tool.

  2. Нажмите Import Selection , и затем выберите Generate Function. Import Tool генерирует код, подобный следующей выборке, и открывает код в Редакторе.

    function data = importfile(filename,startRow,endRow)
    %IMPORTFILE Import numeric data from a text file as a matrix.
    ...
  3. Сохраните функцию.

  4. В отдельном программном файле или в командной строке, создайте цикл for, чтобы импортировать данные из каждого текстового файла в массив ячеек под названием myData:

    numFiles = 25;
    startRow = 2;
    endRow = inf;
    myData = cell(1,numFiles);
    
    for fileNum = 1:numFiles
        fileName = sprintf('myfile%02d.txt',fileNum);
        myData{fileNum} = importfile(fileName,startRow,endRow);
    end

Каждая ячейка в myData содержит массив данных из соответствующего текстового файла. Например, myData{1} содержит данные из первого файла, myfile01.txt.

Смотрите также

| | | | |

Похожие темы