I have a trouble reading the txt file, which contains 10 columns and 2 lines of header, but the problem is that in the middle of the file the same header appears several times and textread()
doesnt function. That's my file example:
file.txt
headerline1 aaaa
headerline2 111 123
20/12/2000 name1 name2 name3... name8 0
21/12/2000 name1 name2 name3... name8 0
22/12/2000 name1 name2 name3... name8 0
headerline1 aaaa
headerline2 111 123
25/12/2000 name1 name2 name3... name8 0
27/12/2000 name1 name2 name3... name8 0
...
and this is my code I tried:
[date, name1, name2, name3, name4, name5, name6, name7, name8, status] = ...
textread('file.txt', '%s %s %s %s %s %s %s %s %s %d', 'headerlines',2);
It gives the error exactly at the row with the repeated header. Do you have any ideas how could I avoid those headers and read the complete file? The problem is that I have hundreds of these types of files, so I cant delete each time manually.
Thanks for help.
You can first read the file line by line with
textscan
taking the whole line as a string. Then remove the headerlines, and process the restHere is an example:
If you do NOT want to use perl, awk or something like it to preprocess your data (which I actually could really understand), you could try to read your file line by line by using
fopen
,fgetl
andfeof
(e.g. one example can be seen here: https://stackoverflow.com/a/2858208/701049) and check for each line if it contains a header. If so,continue
your loop. If not, process it by using something liketextscan
as you do now already.