read csv file with headers with readtable and get the header

22 views (last 30 days)
I have a data csv file which include an header with several lines. Each header line starts with the sign %
I have no problem to read the file with readtable and to get the data.
But I would like to get also the header lines which describe my data.
Any suggestion ?

Accepted Answer

Walter Roberson
Walter Roberson on 15 Mar 2023
You will not be able to do this with a single call to readtable() .
Either process the lines separately or else use readcell(). Though with readcell() it is possible you would need to piece lines back together if there just happened to be commas in the lines.
If the files are not huge, sometimes it can be very effective to use fileread() to read the line as a character vector, then use regexp() to pull out the headers, then textscan() the remaining lines -- provided you know their format ahead of time. Though to be honest if you have date/time fields it can be a nuisance to get the %D %T formats right.
  2 Comments
Pascal Guillot
Pascal Guillot on 17 Mar 2023
so far, I extract the data with readtalble and the comments/header with readcell.
I use detectImportOptions with readcell to read only the lines without data.

Sign in to comment.

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!