Read CSV with yyyyMMddhhmmss and group months
1 view (last 30 days)
Show older comments
Hello! Matlab newbie, so I apologize if this is a simple question.
I've got a 5000 by 1 CSV file filled with numbers in the yyyyMMddhhmmss format. I'm simply trying to group each line by month.
4 Comments
Stephen23
on 10 Jan 2022
Edited: Stephen23
on 10 Jan 2022
@Lauren: what version of MATLAB are you using?
" I'm simply trying to group each line by month."
Which of these to you want?:
- group by month only (so you will get twelve groups, i.e. 2021-03 is in the same group as 2019-03)
- group by month of every year (i.e. 2021-03 is in a different group from 2019-03).
What do you want to occur with missing data? For example, such as here:
Note that your description does not match the uploaded file:
yyyyMMddhhmmss % your description.
202009090029 % actually in the file (no seconds).
Accepted Answer
Stephen23
on 11 Jan 2022
Here is one way to group by month only, ignoring empty lines of the CSV file:
str = fileread('sample.csv');
tkn = regexp(str,'^(\d{4})(\d\d)','tokens','lineanchors');
tkn = vertcat(tkn{:})
[~,~,grp] = unique(tkn(:,2),'stable')
More Answers (1)
KSSV
on 9 Jan 2022
Read about datevec. This will split the date into year, month, days etc.....from this you can apply the function unique and get them grouped.
0 Comments
See Also
Categories
Find more on Dates and Time in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!