Read CSV with yyyyMMddhhmmss and group months
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Stephen23
2022-1-10
编辑:Stephen23
2022-1-10
@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).
采纳的回答
Stephen23
2022-1-11
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')
更多回答(1 个)
KSSV
2022-1-9
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!