我有一个包含多个标题的文本文件。 它看起来像这样:
Date,time,*10ms,%%,%%,%%,%%,%%,%%,%%,%%,%%,%%,DETAILS.txt;D;%%;10 11/08/19,13:19:28,03,446,0,545.75,0,6,0,0,0,14,0 11/08/19,13:19:29,05,446,0,549.25,1.9,6,102,1,0,0,0 11/08/19,13:19:30,07,446,0,549.5,1.9,6,102,1,0,0,0 11/08/19,13:19:31,09,446,0,548.75,1.9,6,102,1,0,0,0 . . . . Date,time,*10ms,%%,%%,%%,%%,%%,%%,%%,%%,%%,%%,DETAILS.txt;D;%%;10 11/08/19,13:19:28,03,446,0,545.75,0,6,0,0,0,14,0 11/08/19,13:19:29,05,446,0,549.25,1.9,6,102,1,0,0,0 11/08/19,13:19:30,07,446,0,549.5,1.9,6,102,1,0,0,0 11/08/19,13:19:31,09,446,0,548.75,1.9,6,102,1,0,0,0 . .
依旧......
我想编写一个删除这些标题行的代码,并将其余数据存储到新文件中。
有人可以帮忙吗?
亲切的问候,
塔玛拉
答案 0 :(得分:1)
readID = fopen('headers.txt', 'r');
writeID = fopen('no_headers.txt', 'w');
while feof(readID) == 0
currLine = fgetl(readID);
if isempty( strfind(currLine, 'Date') )
fprintf(writeID, '%s\n', currLine);
end
end
fclose(readID);
fclose(writeID);
答案 1 :(得分:0)
看起来所有标题都相同,我假设你的意思是:日期,时间,* 10毫秒,%%,%%,%%,%%,%%,%%,%%,%%,% %,%%,DETAILS.txt; d; %%; 10
你希望使用MATLAB,如果是这种情况,你必须打开文件,textcan为那一行,然后fgetl删除它。
当行总是相同时,不需要正则表达式或类似的东西。