Импортируйте данные из текстового файла путем выбора данных в интерактивном режиме. Также можно повторить эту операцию импорта на нескольких текстовых файлах при помощи сгенерировать функции кода инструмента импорта.
Этот пример показывает, как импортировать данные из текстового файла с заголовками столбцов и числовыми данными с помощью 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
, и вы хотите импортировать данные из каждого файла, начинающего со второй строки. Сгенерируйте код для импорта всего набора файлов следующим образом:
Откройте один из файлов в Import Tool.
Нажмите Import Selection , и затем выберите Generate Function. Import Tool генерирует код, подобный следующей выборке, и открывает код в Редакторе.
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