티스토리 뷰

LabVIEW를 이용하여 데이터를 엑셀파일로 저장하는 방법은 실로 다양합니다. (함수가 여러개 존재하기 때문이죠...-_-) 이 글에서는 파일 쓰기 어시스턴트가 아닌 LabVIEW의 일반 VI 중 하나인 스프레드시트 파일에 쓰기 함수를 이용하여 엑셀 파일을 저장하는 방법에 대해서 알아보도록 하겠습니다. 


하지만 이 함수를 사용하게 되면 엑셀 타입으로 저장이 되는것은 아닙니다. 엑셀 타입(xlxs와 같은 확장자)가 아닌 CSV 파일 타입으로 저장하게 되는데 CSV 파일은 행과 ,를 구분으로 엑셀의 행과 열을 구분하여 엑셀에서 이 파일을 연동할 수 있게 해주는 파일을 말합니다. Microsoft Excel로 포맷하려면 LabVIEW에서 ActiveX 또는 Report Generation Toolkit for Microsoft Office를 사용하셔야 합니다.


CSV 파일에 대해서 좀더 확인을 해보면 아래와 같습니다. 


CSV(영어: comma-separated values)는 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일이다. 확장자는 .csv이며 MIME 형식은 text/csv이다. comma-seperated variables라고도 한다.


오래전부터 스프레드시트나 데이터베이스 소프트웨어에서 많이 쓰였으나 세부적인 구현은 소프트웨어에 따라 다르다. 그것들을 추가한 형태가 2005년 10월 RFC 4180에서 Informational(IESG의 외부에서 결정된 유용한 정보의 제공)로 사양이 문서화됐다.


비슷한 포맷으로는 탭으로 구분하는 'tab-sperated values'(TSV)나, 반각 스페이스로 구분하는 'space-separated values'(SSV) 등이 있으며, 이것들을 합쳐서 character-separated values (CSV), delimiter-separated values라고 부르는 경우가 많다.


출처 : 위키피디아


CSV 파일 저장에 사용이 되는 스프레드시트 파일 함수에 대해서 확인해 보겠습니다.



스프레드시트 파일에 쓰기 함수는 2D 배열 혹은 1D 배열의 자료를 CSV 파일로 저장을 하게 됩니다. 각 자료의 타입에 따라 위에 보이는 2D 데이터, 1D 데이터에 데이터를 입력하면 됩니다.


자 그럼 2차 배열을 입력하여 CSV 파일을 만들어보도록 하겠습니다. 여러가지 설정을 할 수 있지만 파일 이름과 데이터만 연결을 하여 데이터를 저장해보도록 하겠습니다. 아래와 같은 코드를 구현합니다.


사용자 인터페이스는 아래와 같이 구성이 되겠죠.



위의 코드를 실행하게 되면 아래와 같은 결과를 가집니다. 각 데이터가 구분이 Tab으로 이루어 진것을 볼 수 있는데요. 이는 이 함수에서 구분자 역할을 하는 값이 기본적으로 \t이 들어가 있기 때문입니다. 


4행 4열의 데이터를 가진 엑셀 파일을 만들고자 했던 의도와는 달리 4행 1열의 엑셀파일로 만들어 졌습니다. 이는 CSV 파일이 열을 구분할 때 ,를 사용하기 때문입니다. 따라서 \t으로 설정된 구분자의 값을 ,로 변경해야 합니다. 


 


구분자를 /t에서 ,로 변경하기 위해서는 아래와 같이 코드 개발이 가능합니다. 


위와 같은 코드로 변경하고 나서 실행을 하게 되면 아래와 같은 결과를 가지게 됩니다.


 

제대로 된 Excel 파일로 만들어진 것을 확인할 수 있습니다. 간단히 스프레드 시트 쓰기 함수를 이용하여 엑셀에서 사용할 수 있는 CSV 파일 만드는 방법에 대해서 알아보았습니다. 




댓글