Чтение данных текстового файла с помощью Инструмента для импорта

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

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

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

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

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

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

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

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

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

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

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

При нажатии кнопки < reservedrangesplaceholder0 > Инструмента для импорта создает переменные в рабочей рабочей области.

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

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

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

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

  1. Откройте один из файлов в Инструмент для импорта.

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

    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.

См. также

| | | | |

Похожие темы