Импортируйте данные из текстового файла путем интерактивного выбора данных. Можно также повторить эту операцию импорта из нескольких текстовых файлов с помощью функции генерации кода инструмента импорта.
В этом примере показов, как импортировать данные из текстового файла с заголовками столбцов и числовыми данными с помощью Инструмента для импорта. Файл в примере, 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
, и вы хотите импортировать данные из каждого файла, начиная со второй строки. Сгенерируйте код для импорта всего набора файлов следующим образом:
Откройте один из файлов в Инструмент для импорта.
Нажмите Import Selection, а затем выберите Generate Function. Этот Инструмент для импорта генерирует код, подобный следующему отрывку, и открывает код в Редактора.
function data = importfile(filename,startRow,endRow) %IMPORTFILE Import numeric data from a text file as a matrix. ...
Сохраните функцию.
В отдельном программном файле или в командной строке создайте 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
.
readcell
| readmatrix
| readtable
| readtimetable
| readvars
| textscan