a question regarding the format of dates

Dear all, I have an excel file that contains among other columns, a date column. In that column the dates are either in this format '01/02/2009' or in that format ' 03/2009'
For instance
Out={
'Con' dates'
SP '01/02/2009'
kp ' 03/2009'}
The problem is that when I import this matrix in Stata then I get something like
Out={
'Con' dates'
SP 39722
kp ' 03/2009'}
So all the dates represented in this format '01/02/2009' appear as numbers in stata. Can I fix that within Matlab or within stata?

댓글 수: 3

antonet
antonet 2013년 1월 31일
편집: antonet 2013년 1월 31일
I suspect that I will have to change all the dates that appear as '01/02/2009' to '02/2009' . IS there any code for doing that?
Thanks
the cyclist
the cyclist 2013년 1월 31일
What does it look like if you import directly into MATLAB, rather than Stata?
The space at the beginning of ' 03/2009' suggests to me that field is being interpreted as text, not as a date. You may be able to fiddle with the format within Excel to get them all the same.
antonet
antonet 2013년 2월 1일
편집: antonet 2013년 2월 1일
In matlab looks like ok when I import this matrix, that is
Out={
'Con' dates'
SP '01/02/2009'
kp ' 03/2009'}

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

답변 (2개)

Walter Roberson
Walter Roberson 2013년 2월 1일

0 개 추천

needfix = strcmpn(Out, ' ', 1);
Out(needfix) = cellfun( @(S) ['01/' S(2:end)], Out(needfix), 'Uniform', 0);
And then convert the dates.

댓글 수: 3

Hi,
I applied this code
needfix = strcmpn(Out, ' ', 1);
Out(needfix) = cellfun( @(S) ['01/' S(2:end)], Out(needfix), 'Uniform', 0);
to
Out={
'Con' 'dates'
'SP' '01/02/2009'
'kp' ' 03/2009'}
but I get this error message
??? Undefined function or method 'strcmpn' for input arguments of type 'cell'.
Is there any way to fix that?
thank
antonet
antonet 2013년 2월 1일
is there a solution?
thank you
antonet
antonet 2013년 2월 1일
편집: antonet 2013년 2월 1일
Could you please give me some help? Am I doing anything wrong?
thank you

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

owr
owr 2013년 2월 1일

0 개 추천

If I were in your situation, I would try and do the formatting in Excel first and get all dates uniform before importing into MATLAB (or Stata). Excel in my experience seems to be better at "figuring out what you meant".
Try just highlighting and formatting the column in Excel into any fairly normal date format. It will change something like "3/2009" to "3/1/2009" for you. Once data is uniform, import into MATLAB. Even if you have to do this for a number of files it may be quicker in the long run than writing a general date parser in ML.

카테고리

도움말 센터File Exchange에서 Dates and Time에 대해 자세히 알아보기

태그

질문:

2013년 1월 31일

Community Treasure Hunt

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

Start Hunting!

Translated by