필터 지우기
필터 지우기

Splitting date in a table into different columns

조회 수: 9 (최근 30일)
Maja Zdulska
Maja Zdulska 2020년 10월 1일
편집: Stefanie Schwarz 2022년 5월 31일
Hi all,
I'm using the 2019b version of Matlab and I'm currently handling a large dataset in a .csv format, which looks like this:
Date Latitude Longitude Period
01/01/1980 23.9 57.3 2.32
01/01/1980 23.9 57.4 2.37
01/01/1980 24 57.3 2.54
01/01/1980 24 57.4 2.77
01/02/1980 23.9 57.3 2.18
01/02/1980 23.9 57.4 2.45
01/02/1980 24 57.3 2.98
01/02/1980 24 57.4 2.66
I've loaded it using readtable, which works just fine:
T=readtable(MyFile);
date=T(:,1);
I need to split the date into separate columns containing the day, month and year respectively, as later I'm planning to do group averaging of the data (i.e. calculate mean values of Period for different months, years and locations). I've tried:
a=datetime(date,'InputFormat','dd/MM/yyyy');
but I get the error message:
Error using datetime (line 659)
Input data must be a numeric array, a string array, a cell array containing character vectors, or a char matrix.
I'm not sure how to resolve it. Any help on this matter would be much appreciated!
Maja
  댓글 수: 1
Stephen23
Stephen23 2020년 10월 1일
You used the wrong kind of brackets. Instead of parentheses (which returns a table):
date=T(:,1);
you need to use curly braces (which returns whatever data type that column has):
date=T{:,1};

댓글을 달려면 로그인하십시오.

채택된 답변

Ameer Hamza
Ameer Hamza 2020년 10월 1일
편집: Ameer Hamza 2020년 10월 1일

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Dates and Time에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by