使用导入工具读取文本文件数据
通过交互选择数据从文本文件导入数据。您还可以使用导入工具的生成代码特性对多个文本文件重复此导入操作。
交互选择数据
此示例演示如何使用导入工具从具有列标头和数字数据的文本文件导入数据。例子中的文件,grades.txt
,包含以下数据:
约翰·安·马克·罗布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
要创建文件,请使用任何文本编辑器复制并粘贴数据。
在首页选项卡,在变量部分中,点击导入数据.或者,在当前文件夹浏览器中右键单击文件名并选择导入数据.导入工具打开。
导入工具可以识别这一点grades.txt
是固定宽度的文件。在进口数据部分中,选择您希望导入数据的方式。下表显示了根据所选选项导入数据的方式。
选项被选中 | 数据导入方式 |
---|---|
表格 | 将选定的数据作为表导入。 |
列向量 | 将所选数据的每一列单独导入米 1的向量。 |
数字矩阵 | 导入所选数据米 ——- - - - - -n 数字数组。 |
字符串数组 | 将选定的数据作为包含文本的字符串数组导入。 |
单元阵列 | 将选定的数据作为单元格数组导入,该单元格数组可以包含多种数据类型,例如数值数据和文本。 |
下分隔符选择,您可以指定导入工具应该使用句点还是逗号作为数值的小数分隔符。
双击变量名可重命名。
你也可以使用变量名称方框中选择节中选择文本文件中希望导入工具用于变量名的行。
导入工具突出显示不可导入的单元格。不可导入单元格是包含不能以该列指定格式导入的数据的单元格。在本例中,第3行C列的单元格被认为是不可导入的,因为空白单元格不是数字。突出显示的颜色对应于建议的规则,以使数据适合数值数组。您可以添加、删除、重新排序或编辑规则,例如更改的替换值南
到另一个值。
所有规则只适用于导入的数据,不会改变文件中的数据。任何时候,当您要导入矩阵或数值列向量,且范围包括非数值数据时,您都必须指定规则。
要查看数据是如何导入的,请将光标放在单个单元格上。
当你点击进口的选择按钮,“导入工具”将在工作区中创建变量。
有关与导入工具交互的更多信息,请观看此视频视频.
从多个文本文件导入数据
要对多个文件执行相同的导入操作,请使用import Tool的代码生成特性。如果您一次导入一个文件并从import Tool生成代码,您可以使用此代码使其更容易重复操作。导入工具生成一个程序脚本,您可以编辑并运行该脚本来导入文件,或者您可以为每个文件调用一个函数。
假设当前文件夹中有一组文本文件。文件被命名为myfile01.txt
通过myfile25.txt
,然后从第二行开始从每个文件导入数据。生成导入整个文件集的代码,如下所示:
在导入工具中打开其中一个文件。
点击进口的选择,然后选择生成函数.导入工具生成类似以下摘录的代码,并在编辑器中打开代码。
function data = importfile(filename,startRow,endRow) % importfile从文本文件中导入数值数据作为矩阵. ...
保存函数。
在单独的程序文件中或在命令行中创建
为
循环将数据从每个文本文件导入到名为myData
:numFiles = 25;startRow = 2;endRow = inf;myData = cell(1,numFiles);for fileNum = 1:numFiles fileName = sprintf('myfile% 02nd .txt',fileNum);myData{fileNum} = importfile(文件名,startRow,endRow);结束
中的每个单元格myData
包含来自相应文本文件的数据数组。例如,myData {1}
包含第一个文件中的数据,myfile01.txt
.
另请参阅
readtable
|textscan
|readmatrix
|readcell
|readvars
|readtimetable