Reading content of a file using readtable return NaT for Time
3 次查看(过去 30 天)
显示 更早的评论
Please find the attached file. I want to use readtable to parse the file using readtable function.
I want Date and message content separatly done.
采纳的回答
Walter Roberson
2019-9-5
编辑:Andrei Bobrov
2019-9-5
filename = 'eventlog.txt';
opt = detectImportOptions(filename);
opt = setvartype(opt, 5, 'char');
datatable = readtable(filename, opt);
datatable{:,2} is now the datetime entry, and datatable(:,[3 4 5]) are the fields.
As the fields are delimited, it is not completely clear whether you wanted everything to the end of the line as a single character vector complete with '|' inside, or if you wanted the fields broken out. The above breaks them out.
string(datatable{:,3}) + " | " + string(datatable{:,4}) + " | " + string(datatable{:,5})
would put the fields back together, except with an extra trailing " | " on the lines that had only 4 fields originally.
2 个评论
更多回答(1 个)
Andrei Bobrov
2019-9-5
编辑:Andrei Bobrov
2019-9-5
T = readtable('eventlog.txt','format',...
'%d %{yyyy-MM-dd HH:mm:SS}D %s %s %s','delimiter','|',...
'ReadVariableNames',false);
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!