timetable을 input 신호로 사용할 때 time column의 문자열 처리
1 view (last 30 days)
Show older comments
여러 행을 가지는 timetable을 엑셀로 저장하여 input 신호로 사용하려고 합니다.
From Spreadsheet로 엑셀파일의 값들을 읽어올 때 첫번째 time행에 '초'시간 단위로 인해 'First column (time column) must contain numeric values.'이라는 오류가 발생합니다.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1605576/image.png)
시간을 읽어올 때 문자열을 제외하고 숫자만 읽어올 수는 없을까요?
0 Comments
Accepted Answer
Angelo Yeo
on 1 Feb 2024
이런 경우 파일 전처리를 수행하는게 좋을 것 같습니다. 전처리를 수행하셔서 "초" 라는 글자를 제외한 숫자만 받아서 다시 저장할 수 있습니다. 아래의 스크립트를 참고해주십시오.
RowTimes = seconds(1:5)';
TestCase = timetable(RowTimes,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
'VariableNames',{'Reading1','Reading2'});
writetimetable(TestCase, "test.xlsx");
clear RowTimes TestCase
%% When reading table
myTbl = readtable('test.xlsx')
RowTimesPruned = extractBefore(string(myTbl.RowTimes), "sec"); % To remove "sec" but to get only numbers
myTbl.RowTimes = double(RowTimesPruned)
2 Comments
Angelo Yeo
on 7 Feb 2024
@은비: 저는 MATLAB에서 전처리 하는 방법에 대해서 말씀드린 것인데요. 말씀하신 에러 메시지는 전처리 과정까지도 코드 생성하여 진행하려고 하시는 것으로 보입니다.
이는 원래 제 답변 의도와는 차이가 있는 진행 방식이기 때문에 (그리고 그런 배경은 질문에도 보이지 않습니다), 말씀하신 에러를 얻기 위한 파일과 전체적인 재현 방법을 공유해주셔야 구체적으로 답변드릴 수 있습니다. 구체적인 자료와 함께 질문을 새롭게 만들어주시는게 좋지 않을까 생각합니다.
More Answers (0)
See Also
Categories
Find more on Sources in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!