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

90 次查看(过去 30 天)
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 个评论
Abderrahim. B
Abderrahim. B 2022-7-25
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 个评论
BA
BA 2022-7-25
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 个)

标签

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by