我有几个txt文件,如下所示:
Experiment ended at 5/8/12 10:00 AM
Number of Tunings 9
0 14.0 82 43.305
1 34.142857142857146 95 23.432
2 5.857142857142857 82 31.573
3 37.42857142857143 83 22.387
4 5.0 93 14.664
...etc
我想加载这些数据,以便忽略前两行,并且我将基于空格的列作为分隔符,因此上面的内容将成为:
0 14.0 82 43.305
1 34.142857142857146 95 23.432
2 5.857142857142857 82 31.573
3 37.42857142857143 83 22.387
4 5.0 93 14.664
函数importdata(FILENAME, DELIM, NHEADERLINES)
,正是这样做的。但是当我用importfile('pathtofile', ' ', 2)
调用这个函数时,我得到一个包含文件中所有字符的字符串,所以这样:
Experiment ended at 5/8/12 10:00 AM Number of Tunings 9 0 14.0 82 43.305 1 34.142857142857146 95 23.432 ...etc
如何让importdata正确解析我的数据?
答案 0 :(得分:1)
你也可以像这样使用dlmread
:
dlmread('filename.txt', ' ', 2, 0)
答案 1 :(得分:0)
>> help importdata has the following note:
如果importdata识别文件扩展名,则会调用MATLAB帮助程序 用于导入相关文件格式的函数。除此以外, importdata将文件解释为分隔的ASCII文件。
也许.txt触发importdata以文本形式加载文件。但是在我的MATLAB版本中,importdata可以在名为.txt的文件中正常处理示例数据。你用的是哪个版本?
如果所有其他方法都失败了,您可以使用MATLAB内部的copyfile进行重命名
fname = 'sample.txt';
barename = regexprep(fname, '\.txt$', '');
copyfile(fname, barename);
importdata(barename, ' ', 2);