How to load data from csv-files with "dot"-structured variable names and convert to struct/table?
Ältere Kommentare anzeigen
Importing data is not the biggest problem, however autogenterate variable names from the headers from the csv-file has been a nightmare.
For example, in a csv-file i can have the table like this(note i can't change the structure of the data sorce)
in.sensors.temp.x in.sensors.temp.y
2 3
1 4
Now what i want to do, is to load in the data and create a struct with the same structure as readings header and assign the data to it.
% what i have done so far:
I import the data by using the functionen "importdata". I have tried csvread, xlsread and readtable , but they have either not worked or created corupt data.
After that I get a struct containg data and datatext. The data text is type char characters.
How do I take create a struct by reading a cell containing charcaraters with dots?
I have tried something like this:
in = createStruct(var_name(5), data(:,5))
function temp = createStruct(fullString, data)
fullString = cell2mat(fullString);
dotFind = strfind(fullString,'.');
temp = data;
while ~isempty(dotFind)
%temp = temp.(convertCharsToStrings(fullString(1:dotFind(1)-1)));
struct(fullString(1:dotFind(1)-1),0);
%fullString = fullString(dotFind(1)+1:end);
%dotFind = strfind(fullString,'.');
end
end
but did not perform very well
1 Kommentar
Akzeptierte Antwort
Weitere Antworten (1)
Niclas Klarström
am 11 Dez. 2020
0 Stimmen
Kategorien
Mehr zu Structures finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!