read csv file with headers with readtable and get the header

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 ?

 採用された回答

Walter Roberson
Walter Roberson 2023 年 3 月 15 日

0 投票

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 件のコメント

Pascal Guillot
Pascal Guillot 2023 年 3 月 17 日
Thank you. I am going to test both.
Pascal Guillot
Pascal Guillot 2023 年 3 月 17 日
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.

サインインしてコメントする。

その他の回答 (0 件)

製品

リリース

R2022a

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by