csv file import with exponential notation
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Thomas Unterholzner
am 29 Dez. 2020
Kommentiert: Thomas Unterholzner
am 29 Dez. 2020
Hello,
I importet data from a sensor reading and wanted to plot them (force over time)
as the force data contained commata I had to convert them, but I still have a wrong graph as the exponential notation is not 'detected'.
This is my script:
%%read txt file with force measurement, save datevec
Data = readtable('CSV-file.csv','TextType','string'); %add name of csv file (readtable)
waveform = table2array(Data(:,1)); %table to cell time vector
Y = table2array(Data(:,2)); %save force in waveform
Y([1,2,3,4,5],:) = []; %delete rows 1-5 force vector
waveform([1,2,3,4,5],:) = []; %delete rows 1-5 time vector
Data2 = strrep(Y, ',', '.');
Timevector = datetime (waveform ,'InputFormat','dd.MM.yyyy HH:mm:ss,SSSSS');
Data21 = categorical(Data2(:,1));
plot (Timevector, Data21,'b*');
yyy HH:mm:ss,SSSSS');
Data21 = categorical(Data2(:,1));
plot (Timevector, Data21,'b*');
my Data (.csv):

and this is my current plot vs. the actual plot:

is there a way to format the string, so that the exponential notation is right?
1 Kommentar
Ameer Hamza
am 29 Dez. 2020
Bearbeitet: Ameer Hamza
am 29 Dez. 2020
Can you attach some sample datapoints from as a csv file?
Akzeptierte Antwort
Cris LaPierre
am 29 Dez. 2020
Here's how I would do it.
%%read txt file with force measurement, save datevec
opts = detectImportOptions("CSV-file.csv","NumHeaderLines",6);
opts = setvartype(opts,"DateTime","datetime");
opts = setvaropts(opts,"DateTime","InputFormat",'dd.MM.yyyy HH:mm:ss,SSSSS');
opts = setvartype(opts,"Y_Chan_3_","string");
Data = readtable('CSV-file.csv',opts);
% specifying the decimal separator didn't help because of the formatting.
% This replaces it with a period. This may not be necessary depending on your regional settings.
Data.Y_Chan_3_ = strrep(Data.Y_Chan_3_,',','.');
Data.Y_Chan_3_ = str2double(Data.Y_Chan_3_)
Weitere Antworten (1)
Walter Roberson
am 29 Dez. 2020
Use the decimalseparator option for readtable
https://www.mathworks.com/help/matlab/ref/detectimportoptions.html#d122e302928
I think it became available as of R2020a but that would have to be checked
1 Kommentar
Siehe auch
Kategorien
Mehr zu LaTeX finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!