我正在尝试使用readtable
功能将数据从文本文件导入工作区。
文本文件结构非常简单,由4列类型 date , time , integer 和 float <组成/ em>分别如以下最小例子所示:
2013-07-07 05:15:19 8 213.0
2013-07-07 05:15:19 11 109.0
2013-07-07 05:15:20 14 33.5
2013-07-07 05:15:24 56 182.0
当我尝试加载这样的数据时:
data = readtable(filename,...
'Format','%{yyyy-MM-dd}D %{HH:mm:ss}D %d %f %*[^\n]',...
'ReadVariableNames',false);
我收到以下错误:
Error using textscan
Badly formed format string.
Error in table/readTextFile (line 160)
raw = textscan(fid,format,'delimiter',delimiter,'whitespace',whiteSpace, ...
Error in table.readFromFile (line 41)
t = table.readTextFile(filename,otherArgs);
Error in readtable (line 114)
t = table.readFromFile(filename,varargin);
如果我尝试这样做:
data = readtable(filename,...
'Format','%{yyyy-MM-dd}D%{HH:mm:ss}D%d%f%*[^\n]',...
'Delimiter',' ',...
'ReadVariableNames',false);
我得到完全相同的错误。
我检查了Mathwork's online documentation,但我无法找到解决问题的方法。
编辑:实际上,所需的表格格式是将 datetime 列替换为 date 和 time 列。我正在做的是在阅读表后手动加入 date 和 time 。如果你知道一种导入表的方法,可以立即合并这两个变量,那就太棒了。
答案 0 :(得分:1)
最初,如果您使用数据格式执行此操作:
data = readtable('data.txt','Delimiter',' ','ReadVariableNames',false)
您将获得Nx4数据阵列,以便您可以根据需要进行操作。
您可以阅读如何使用导入为表here
的数据进行操作