我有一个文本文件,如下所示:
A B C
1 2 3
(这只是我实际拥有的一个最小示例。我的实际文件很大并且行数各不相同。)
我想将此文件加载到 Octave 中。但是,该文件包含字母,而不仅仅是数字。当我尝试应用加载函数时,出现错误,我猜这是因为加载函数只接受数字。我应该使用什么函数来代替?
调用 fopen、fscanf 和 fclose。对于仅包含字母的行,格式字符串必须不同(例如'%s\t%s\t%s'
),以及那些仅包含数字的内容(例如'%g\t%g\t%g'
)。您可以使用单个 fprintf 调用读取相同结构的行。
示例文件(data.txt):
A B C
D E F
1 2 3
4 5 6
7 8 9
10 11 12
假设我们事先知道该文件包含 3 列、2 行且开头有字符:
fid = fopen('data.txt', 'r');
[x, nx] = fscanf(fid, '%s\t%s\t%s', [3, 2]);
[y, ny] = fscanf(fid, '%g\t%g\t%g', [3, Inf]);
fclose(fid);
带有字符的行将位于x'
,带有数字的行将包含在y'
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)