Read csv-style file with header and subtitle

12 vues (au cours des 30 derniers jours)
Thomas Cimiega
Thomas Cimiega le 24 Sep 2021
Commenté : Thomas Cimiega le 24 Sep 2021
I want to import a csv file in form of a string matrix including all rows (i.e. headers).
My file is usually formatted with two header lines and an changing amount of columns, see attached file. All cells are semicolon separated.
When I use readtable, Matlab format the csv header content, which is not helpful. It also skips the second header line (subtitle X_Y). Then I found readmatrix, but I also can not import the file with it as expected.
When I open the file with a double-click on the file in Matlab, I can select the import as string array and set the range manually to the whole table space (see image). And the result is exactly what I need, but I can not reproduce it as code. I also tried to export the code to realize the function, but this exported function expects to keep the same number of columns.
So I am desperately searching for a solution and thinking about realizing the import function by myself, but the execution should take much longer (the files usually have 10000 rows and 200 columns).
Hopefully, someone can help :)

Réponse acceptée

Akira Agata
Akira Agata le 24 Sep 2021
How about the following solution?
T = string(readcell('tableExample.csv'));
  1 commentaire
Thomas Cimiega
Thomas Cimiega le 24 Sep 2021
Thank you, that is a big step forward. I wasn't aware that string is cell compatible. One issue is remaining: It seems to be less performant than readtable. But I can live with that.
Thanks again!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by