exponenta event banner

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

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

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

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

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

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

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

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

Можно также использовать поле «Имена переменных» в разделе «Выбор», чтобы выбрать строку в текстовом файле, которую инструмент импорта должен использовать для имен переменных.

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

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

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

При нажатии кнопки «Импорт выбранных объектов» инструмент импорта создает переменные в рабочем пространстве.

Дополнительные сведения о взаимодействии с инструментом импорта см. в этом видеоролике.

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

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

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

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

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

    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.

См. также

| | | | |

Связанные темы