将文本文件中的数值数据导入矩阵
从存储为逗号分隔的或带分隔符的文本文件的文件中,将数值数据导入为 MATLAB® 数组。
导入逗号分隔的数据
以下示例说明如何从文本文件中导入逗号分隔的数值数据。创建样本文件,读取文件中的所有数据,然后仅读取从指定位置开始的部分数据。
创建一个名为 ph.dat
且包含逗号分隔的数据的样本文件,然后显示该文件的内容。
rng('default') A = 0.9*randi(99,[3 4]); writematrix(A,'ph.dat','Delimiter',',') type('ph.dat')
72.9,81.9,25.2,86.4 81,56.7,49.5,14.4 11.7,9,85.5,87.3
使用 readmatrix
函数读取该文件。函数将返回一个包含文件中的数据的 3
×4
double
数组。
M = readmatrix('ph.dat')
M = 3×4
72.9000 81.9000 25.2000 86.4000
81.0000 56.7000 49.5000 14.4000
11.7000 9.0000 85.5000 87.3000
仅导入文件中从第一行、第三列开始的数据的矩形部分。创建一个导入选项对象,并使用 SelectedVariableNames
和 DataLines
属性指定要导入的列和行。然后从文件中导入所选部分的数据。
opts = detectImportOptions('ph.dat'); opts.SelectedVariableNames = {'Var3','Var4'}; opts.DataLines = [1 3]; readmatrix('ph.dat',opts)
ans = 3×2
25.2000 86.4000
49.5000 14.4000
85.5000 87.3000
导入分隔的数值数据
以下示例演示如何使用 writematrix
函数导入由任何单个字符分隔的数值数据。创建样本文件,读取整个文件,然后读取文件从指定位置开始的部分数据。
创建一个名为 num.txt
的制表符分隔的文件,其中包含一个 4
×4
数值数组,然后显示该文件的内容。
rng('default') A = randi(99,[4,4]); writematrix(A,'num.txt','Delimiter','\t') type('num.txt')
81 63 95 95 90 10 96 49 13 28 16 80 91 55 97 15
读取整个文件。readmatrix
函数会自动确定分隔符并返回一个 4×4 的 double
数组。
M = readmatrix('num.txt')
M = 4×4
81 63 95 95
90 10 96 49
13 28 16 80
91 55 97 15
仅读取文件中从第二行、第三列开始的矩形数据块。创建一个导入选项对象,并使用 SelectedVariableNames
和 DataLines
属性指定要导入的列和行。然后从文件中导入所选部分的数据。
opts = detectImportOptions('num.txt'); opts.SelectedVariableNames = {'Var3','Var4'}; opts.DataLines = [2 4]; readmatrix('num.txt',opts)
ans = 3×2
96 49
16 80
97 15
另请参阅
readmatrix
| readcell
| readvars
| readtimetable