How to solve "Error using split First argument must be text"

Having issues with my script. Everytime I run it, I get an error "Error using split. First argument must be text."
Stacked = readtable(root_folder 'Stacked.xlsx');
dates = Stacked.General_Prompt_SurveySubmittedDate_1;
c = split(dates, '/');
c(:, 3) = cellfun(@fliplr, c(:,3), 'UniformOutput', false);
datesNew = join(c, '/');
I'm not sure how to fix it. What I want to do is get the data to split and then flip all the years. Then I want to join it.
But I keep getting the error at the line "c=split..." so I'm not able to get it to run.
I have attached my dataset.

댓글 수: 1

What are you trying to do with split function? dates doe not have / to split based on it!!

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

 채택된 답변

Walter Roberson
Walter Roberson 2022년 7월 25일
readtable is returning that column as datetime objects. You cannot split() datetime objects.
mask = dates < datetime(1000, 1,1);
dates(mask) = dates(mask) + calyears(2000);
No splitting or text processing necessary.

댓글 수: 1

Thank you!! You're a legend mate. I've been trying to fix this for a while and didn't even realize that I couldn't split datetime. Thanks a ton

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

추가 답변 (0개)

카테고리

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

제품

릴리스

R2022a

태그

질문:

BA
2022년 7월 25일

댓글:

BA
2022년 7월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by