Read csv-style file with header and subtitle

11 visualizzazioni (ultimi 30 giorni)
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 :)

Risposta accettata

Akira Agata
Akira Agata il 24 Set 2021
How about the following solution?
T = string(readcell('tableExample.csv'));
  1 Commento
Thomas Cimiega
Thomas Cimiega il 24 Set 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!

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by