이번 글에서는 MATLAB CSV 파일을 읽을 때 데이터 타입이 배열로 저장되는 경우 해결 방법에 대해서 설명하도록 하겠습니다.
MATLAB에서 CSV 데이터를 불러올 때 데이터가 cell 타입으로 저장되는 경우가 있습니다. 문제가 발생하는 원인을 살펴보면 다음과 같습니다.
CSV 파일의 구분자(delimiter)가 콤마(,)인 경우이지만 공교롭게도 첫 번째 열 제목과 데이터에 공백이 포함되는 경우가 있습니다. 이러한 경우에 MATLAB에서 처음 데이터를 가져올 때 공백을 기준으로 데이터를 불러오게 되고 그 이후 데이터들이 제대로 불려오지 못하는 경우가 발생합니다.
그리고 데이터에는 기존의 구분자인 콤마(,)가 포함된 채로 불려오게 되죠. 데이터에 콤마가 포함이 된다면 MATLAB은 이 데이터를 배열로 인지하게 됩니다. 그래서 문자열이나 숫자 등으로 파악하는 것이 아니라 배열(Cell) 형태로 인지하게 되어 데이터를 정제하는데 어려움이 발생합니다.
이러한 경우 CSV 파일을 불러올 때 Delimiter를 정의해 줌으로써 문제를 해결할 수 있습니다.
tbl_name = 'YOUR FILE NAME.cvs' tbl = readtable(tbl_name, 'Delimiter', ',')
이렇게 설정하게 되면 첫 번째 열에 공백이 있더라도 MATLAB은 정의된 구분자인 콤마(,)를 찾아 올바르게 데이터 열을 구분하게 됩니다.