如何使用matlab导入这种文本文件?

时间:2011-03-13 19:48:13

标签: matlab file-io

我的文本文件的前几行如下所示:

10/21/2010  16:34:01    360 0.7159  0.716   0.7158  0.7161  40472        
10/21/2010  16:35:01    361 0.716   0.7159  0.7157  0.7161  40472        ]
10/21/2010  16:36:01    328 0.7159  0.7162  0.7158  0.7164  40472        

文本文件是分隔的,但不是常规字符,有没有办法可以将数据导入到matlab中?我尝试使用导入向导,但它无法识别数据。

3 个答案:

答案 0 :(得分:0)

您可能无法在每行的开头导入时间戳。如果您确实需要时间戳,请将它们转换为看起来像常规数字的格式(例如,unix时间戳)。

对于其余部分,您可以使用导入向导,将其设置为“Space”并将“文本标题行数”设置为0.

答案 1 :(得分:0)

您可以使用textscan,fscanf和strtok函数导入它。您当然可以导入这些时间/日期标记,但这需要一些工作来清理。

答案 2 :(得分:0)

下面的代码将导入您的文件(看起来像是制表符分隔的。)

fid = fopen('text.txt','r');
raw=textscan(fid,'%s\t%s\t%f\t%f\t%f\t%f\t%f\t%f');
fclose(fid)
  date = zeros(1,length(raw{1}));
for i=1:length(d{1})
   date(i) = datenum( [ raw{1}{i} ' ' raw{2}{i}] );
end    

日期将在日期变量和原始{3} ...原始{8}

中的数字数据中