timetable을 input 신호로 사용할 때 time column의 문자열 처리
조회 수: 3 (최근 30일)
이전 댓글 표시
여러 행을 가지는 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
채택된 답변
Angelo Yeo
2024년 2월 1일
이런 경우 파일 전처리를 수행하는게 좋을 것 같습니다. 전처리를 수행하셔서 "초" 라는 글자를 제외한 숫자만 받아서 다시 저장할 수 있습니다. 아래의 스크립트를 참고해주십시오.
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
Angelo Yeo
2024년 2월 7일
@은비: 저는 MATLAB에서 전처리 하는 방법에 대해서 말씀드린 것인데요. 말씀하신 에러 메시지는 전처리 과정까지도 코드 생성하여 진행하려고 하시는 것으로 보입니다.
이는 원래 제 답변 의도와는 차이가 있는 진행 방식이기 때문에 (그리고 그런 배경은 질문에도 보이지 않습니다), 말씀하신 에러를 얻기 위한 파일과 전체적인 재현 방법을 공유해주셔야 구체적으로 답변드릴 수 있습니다. 구체적인 자료와 함께 질문을 새롭게 만들어주시는게 좋지 않을까 생각합니다.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Export to MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!