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