Extract sensorvalues from string with units
2 views (last 30 days)
Show older comments
Hello,
I got some CSV files with sensorvalues in it. I used the command 'readtable' to get the data into a Matlab table. It is now a 1440x2 table. In the first variable of the table is a timestamp that works fine, when i try to plot it. But in the second variable i got this format: {'29.6 °C'}. I know when i want to plot the second variable, i have to seperate the value from the unit and convert the value into a number, because i think it is saved as a string. But i can't find a fitting command. Does anyone has an idea how to seperate the values and how to plot them?
Below is a part of the table so you can get a better understanding of my problem.
Var1 Var2
___________________ ___________
2022-06-17 00:00:00 {'28.1 °C'}
2022-06-17 00:01:00 {'28 °C' }
2022-06-17 00:02:00 {'28 °C' }
2022-06-17 00:03:00 {'28 °C' }
2022-06-17 00:04:00 {'28 °C' }
2 Comments
Accepted Answer
Star Strider
on 28 Jun 2022
Edited: Star Strider
on 28 Jun 2022
type('Test 2020 06 28.csv') % Original File
opts = detectImportOptions('Test 2020 06 28.csv');
opts = setvartype(opts, 'Var2','double');
opts = setvaropts(opts, 'Var2','Suffixes','°C');
T1 = readtable('Test 2020 06 28.csv', opts)
figure
plot(T1{:,1}, T1{:,2})
grid
ylim([27 29]) % Change As Necessary For Your Data
That appears to have imported my test file correctly.
EDIT — (28 Jun 2022 at 17:52)
Forgot the plot initially. Added it now.
.
0 Comments
More Answers (0)
See Also
Categories
Find more on Tables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!