Read Text File Data Using Import Tool
Import data from a text file by selecting data interactively. You also can repeat this import operation on multiple text files by using the generate code feature of the import tool.
Select Data Interactively
This example shows how to import data from a text file with column headers and
numeric data using the Import Tool. The file in the example,
grades.txt
, contains this data:
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
To create the file, copy and paste the data using any text editor.
On the Home tab, in the Variable section, click Import Data . Alternatively, right-click the name of the file in the Current Folder browser and select Import Data. The Import Tool opens.
The Import Tool recognizes that grades.txt
is a fixed width
file. In the Imported Data section, select how you want the
data to be imported. The following table indicates how data is imported depending on
the option you select.
Option Selected | How Data is Imported |
---|---|
Table | Import selected data as a table. |
Column vectors | Import each column of the selected data as an individual
m -by-1 vector. |
Numeric Matrix | Import selected data as an
m -by-n numeric
array. |
String Array | Import selected data as a string array that contains text. |
Cell Array | Import selected data as a cell array that can contain multiple data types, such as numeric data and text. |
Under Delimiter Options, you can specify whether the Import Tool should use a period or a comma as the decimal separator for numeric values.
Double-click a variable name to rename it.
You also can use the Variable Names Row box in the Selection section to select the row in the text file that you want the Import Tool to use for variable names.
The Import Tool highlights unimportable cells. Unimportable cells are cells that
contain data that cannot be imported in the format specified for that column. In
this example, the cell at row 3, column C, is considered unimportable because a
blank cell is not numeric. Highlight colors correspond to proposed rules to make the
data fit into a numeric array. You can add, remove, reorder, or edit rules, such as
changing the replacement value from NaN
to another value.
All rules apply to the imported data only and do not change the data in the file. Any time you are importing into a matrix or into numeric column vectors and the range includes non-numeric data, then you must specify the rules.
To see how your data is imported, place the cursor over individual cells.
When you click the Import Selection button , the Import Tool creates variables in your workspace.
For more information on interacting with the Import Tool, watch this video.
Import Data from Multiple Text Files
To perform the same import operation on multiple files, use the code generation feature of the Import Tool. If you import a file one time and generate code from the Import Tool, you can use this code to make it easier to repeat the operation. The Import Tool generates a program script that you can edit and run to import the files, or a function that you can call for each file.
Suppose you have a set of text files in the current folder. The files are named
myfile01.txt
through myfile25.txt
, and you
want to import the data from each file, starting from the second row. Generate code
to import the entire set of files as follows:
Open one of the files in the Import Tool.
Click Import Selection , and then select Generate Function. The Import Tool generates code similar to the following excerpt, and opens the code in the Editor.
function data = importfile(filename,startRow,endRow) %IMPORTFILE Import numeric data from a text file as a matrix. ...
Save the function.
In a separate program file or at the command line, create a
for
loop to import data from each text file into a cell array namedmyData
: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
Each cell in myData
contains an array of data from the
corresponding text file. For example, myData{1}
contains the data
from the first file, myfile01.txt
.
See Also
readtable
| textscan
| readmatrix
| readcell
| readvars
| readtimetable