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