공작소굴

CSVComma Seperated Values의 약자로, 콤마(,)로 구분되는 값들을 의미합니다. 주로 표로 나타내어지는 데이터들을 쉼표로 구분하여 저장하는 파일 형식입니다.

 

은행의 거래 내역, 연락처, 주가 변동 등 표로 나타내어지는 정보들을 csv로 바꿀 수 있습니다.

 

엑셀기록을 csv 파일로 저장하기

간단하게 로또 당첨기록을 엑셀로 만들어서 csv 파일로 저장해 보겠습니다.

엑셀을 열고, 아래와 같이 회차, 날짜, 당첨 금액, 당첨자 수를 4개 만들었습니다.

이 데이터를 csv 형식으로 저장해 보겠습니다.

이 csv 파일을 메모장에서 열어보면, 어떻게 될까요?

1. 각 행은 한 줄씩 띄워지네요. 이 때 라인피드(LF) 나 캐리지리턴 라인피드(CRLF)를 사용합니다.

2. 각 열에 해당하는 값들이 콤마(,)로 구분되었습니다.

3. '당첨 금액' 데이터처럼 콤마가 포함될 경우에는 큰 따옴표(")로 데이터를 씌워서 저장합니다.

 

단순한 포맷인 만큼 호환되지 않는 이종 프로그램간의 데이터 전달에 많이 사용됩니다.

첫 줄은 인덱스로 사용하고, 그 이후에는 콤마(,)에 따라 데이터를 구분하면 되니까요.

 

그리고, 만약 콤마(,)의 개수가 행마다 다르다면, 그 csv 파일은 오류가 있다고 판단하게 됩니다.

 

csv 파일을 엑셀에서 읽어오기

이번엔 거꾸로 메모장에서 csv 파일을 만들고 엑셀에서 읽어와 보겠습니다.

아래와 같이 반 배정에 관련된 데이터를 콤마(,)로 구분하여 넣습니다.

이 파일을 csv 형식으로 저장합니다.

그리고, 엑셀에서 열어 보면, 텍스트 마법사라는 창이 뜨면서 csv 파일을 어떻게 읽어 들여야 할 지 확인하게 됩니다.

 

선택항목에서 역으로 알 수 있듯이 csv 파일은

콤마(,) 외에도 탭과 같은 문자로 나눌 수도 있고,

각 필드(열)를 일정한 너비로 띄워서 구분할 수도 있는 것 같습니다.

 

다음으로 넘어가면, 구분 기호를 선택하게 됩니다.

 

 탭, 세미콜론(;), 쉼표(,), 공백, 기타 특별히 선택된 문자로 구분되는지 여부와

 데이터 안에 구분 기호와 같은 문자가 있을 경우 구분할 수 있는 '텍스트 한정자'를 선택합니다.

 

반배정 파일에서는 콤마(,)로 구분했기 때문에 쉼표를 선택합니다.

 

마지막으로 넘어가면,

 

각 열마다의 서식을 설정해 엑셀에서 더 나은 방식으로 표시할 수 있게 합니다.

별 다른 서식을 지정하지 않고 마치겠습니다.

 

이렇게 csv 파일을 어떻게 읽어올 지 설정해 주면 다음과 같은 결과로 엑셀파일에서 볼 수 있습니다.

 

 

단점

엑셀과 메모장에서 csv 파일 형식으로 데이터를 주고 받아 보았습니다.

엑셀에서 메모장으로 넘길 때에는 별 다른 설정 없이 넘어갔지만, 엑셀에서 csv 파일을 열려고 했을 때에는 다양한 선택을 해야 했습니다.

 

만약 메모장에서는 콤마(,)로 각 열을 구분해 놓고는 엑셀에서 세미콜론(;)으로 구분하라고 하면 어떻게 될까요?

 

이렇게 콤마(,)까지 하나의 데이터로 판단하여 한 열에 모두 몰아 넣게 됩니다.

 

이처럼 csv 파일은 단순하게 데이터만 가지고 있고, 자신의 구분자가 무엇인지조차 파일 내부에 그 정보를 가지고 있지 않습니다. 따라서 이 파일을 주고 받는 사람들끼리는 최소한 구분자가 무엇인지 알고 있어야 정확한 데이터를 주고 받을 수 있다는 단점이 있습니다.

 

마무리

이번 포스트에서는 단순하고 유용한 csv 파일에 대해 알아보았습니다.

하드웨어를 다루면서 센서입력값이나 모터 속도 등의 기록을 로그파일로 만드는 경우가 생기는데, csv 파일 형식을 사용하면 나중에 엑셀로 변환하여 가독성 있는 데이터로 변환하여 볼 수 있어서 좋을 것 같습니다.

 

그럼 이번 포스트는 여기서 마치겠습니다.

감사합니다.

 

끝.

 

 

 

 

 

'유용한 팁' 카테고리의 다른 글

[프린터] 대기열 문서 Spool 강제 삭제 방법  (0) 2022.07.23

공유하기

facebook twitter kakaoTalk kakaostory naver band