CSV 파일이란?
CSV 파일은 '쉼표로 구분된 값(Comma Separated Values)'을 의미하는 파일 형식입니다. 모든 CSV 파일은 일반 텍스트 파일로, 숫자와 문자만 포함할 수 있으며 데이터를 표(table) 형태로 구조화한다는 특징이 있습니다.
CSV 확장자를 가진 파일은 주로 서로 다른 응용 프로그램 간에 대량의 데이터를 교환할 때 사용됩니다. 데이터베이스 프로그램, 분석 소프트웨어, 연락처나 고객 데이터처럼 대량의 정보를 저장하는 애플리케이션들은 대부분 CSV 형식을 지원합니다.
CSV 파일은 때때로 Character Separated Values(문자로 구분된 값) 또는 Comma Delimited(쉼표로 구분됨) 파일이라고 불리기도 하지만, 명칭이 어떻든 모두 동일한 형식을 가리킵니다.
참고: CSV는 이 외에도 computer software validation(컴퓨터 소프트웨어 검증), comma separated variable, circuit switched voice(회선 교환 음성), colon separated value(콜론으로 구분된 값)의 약어로도 사용됩니다.
CSV 파일 여는 방법
CSV 파일은 일반적으로 스프레드시트 소프트웨어로 열고 편집합니다. 대표적으로 Excel, 무료로 사용할 수 있는 OpenOffice Calc, WPS Office 스프레드시트 등이 있습니다. 스프레드시트 도구는 CSV 파일 속 데이터를 필터링하거나 다양한 방식으로 가공하기에 매우 적합합니다.
온라인에서 CSV 파일을 보거나 편집하려면 Google Sheets를 활용할 수 있습니다. 해당 페이지에 접속한 뒤 폴더 아이콘을 클릭하여 컴퓨터나 Google Drive에서 파일을 불러오면 됩니다.
텍스트 에디터로도 CSV 파일을 열 수 있지만, 용량이 큰 파일은 이런 프로그램에서 다루기 매우 어렵습니다. 텍스트 에디터를 사용하고 싶다면 무료 텍스트 에디터 추천 목록을 참고해 보세요.
앞서 언급했듯이 Excel 역시 CSV 파일을 지원하지만 유료 프로그램입니다. 그럼에도 불구하고 CSV 파일을 다룰 때 가장 널리 사용되는 프로그램은 Excel입니다.
팁: CSV처럼 구조화된 텍스트 기반 데이터를 지원하는 프로그램이 워낙 많다 보니, 컴퓨터에 두 개 이상의 호환 프로그램이 설치되어 있을 수 있습니다. Windows에서 CSV 파일을 더블클릭했을 때 기본으로 열리는 프로그램이 마음에 들지 않는다면, 기본 앱 설정에서 몇 번의 클릭만으로 손쉽게 변경할 수 있습니다.
CSV 파일 변환 방법
CSV 파일은 오직 텍스트 형태로 정보를 저장하기 때문에, 다른 형식으로 저장하는 기능을 다양한 온라인 서비스와 설치형 프로그램에서 지원합니다.
앞서 언급한 데스크톱 프로그램들은 모두 CSV 파일을 XLSX, XLS 같은 Excel 형식뿐 아니라 TXT, XML, SQL, HTML, ODS 등 다양한 형식으로 변환할 수 있습니다. 변환 작업은 일반적으로 파일 > 다른 이름으로 저장 메뉴를 통해 진행합니다.
Google Sheets를 사용할 수도 있습니다. 파일 > 다운로드 메뉴에서 XLSX, ODS, PDF 등 지원되는 형식을 선택하면 됩니다.
브라우저에서 바로 실행되는 무료 파일 변환기도 있습니다. 예를 들어 Zamzar는 CSV 파일을 위에서 언급한 형식들뿐 아니라 PDF, RTF로도 변환할 수 있습니다.
CSVJSON 도구는 이름 그대로 CSV 데이터를 JSON으로 변환해 줍니다. 기존 응용 프로그램의 대량 데이터를 웹 기반 프로젝트로 가져올 때 특히 유용합니다.
주의: 파일 확장자(CSV 등)를 단순히 다른 인식 가능한 확장자로 바꾼다고 해서 변환된 파일이 정상적으로 작동하지 않습니다. 대부분의 경우 위에서 설명한 방법 중 하나를 사용한 실제 형식 변환이 필요합니다. 다만 이 파일들은 텍스트만 담을 수 있기 때문에, CSV 파일의 확장자를 다른 텍스트 형식으로 바꾸면 열리기는 합니다. 다만 CSV 상태 그대로 두었을 때보다는 활용도가 떨어집니다.
CSV 파일 편집 시 알아두어야 할 중요 사항
CSV 파일은 주로 한 프로그램에서 데이터를 파일로 내보낸(export) 후, 같은 파일을 이용해 다른 프로그램으로 데이터를 가져올(import) 때 접하게 됩니다. 특히 표 기반 응용 프로그램을 다룰 때 그렇습니다.
그러나 때로는 CSV 파일을 직접 편집하거나 처음부터 새로 만들어야 하는 경우도 있습니다. 이럴 때는 다음 사항을 반드시 염두에 두어야 합니다.
Excel은 CSV 파일을 열고 편집하는 데 널리 쓰이는 프로그램입니다. Excel이나 유사한 스프레드시트 소프트웨어를 사용할 때 중요한 점은, 편집 화면에서 여러 시트(sheet)를 지원하는 것처럼 보여도 CSV 형식 자체는 '시트'나 '탭'을 지원하지 않기 때문에, 추가 시트에 만든 데이터는 저장 시 CSV 파일에 반영되지 않는다는 것입니다.
예를 들어 문서의 첫 번째 시트에서 데이터를 수정한 뒤 CSV로 저장하면 첫 번째 시트의 데이터가 저장됩니다. 하지만 다른 시트로 전환해 그곳에 데이터를 입력한 후 다시 저장하면, 최근에 편집한 그 시트의 정보가 저장됩니다. 스프레드시트 프로그램을 종료한 후에는 첫 번째 시트의 데이터에 더 이상 접근할 수 없습니다.
이런 문제가 혼란스러운 것은 스프레드시트 소프트웨어의 특성 때문입니다. 대부분의 스프레드시트 도구는 차트, 수식, 행 스타일, 이미지 등 CSV 형식으로는 저장할 수 없는 기능들을 지원합니다.
이러한 제약을 미리 이해하고 있다면 문제될 것이 없습니다. 그래서 XLSX처럼 더 발전된 표 형식들이 존재하는 것입니다. 즉, 아주 기본적인 데이터 수정 이상의 작업 결과를 저장하고 싶다면 CSV 사용을 중단하고 더 발전된 형식으로 저장하거나 내보내는 것이 좋습니다.
CSV 파일의 구조
CSV 파일을 직접 만드는 것은 어렵지 않습니다. 위에서 언급한 도구 중 하나로 데이터를 원하는 대로 정리한 뒤 CSV 형식으로 저장하면 됩니다.
물론 텍스트 에디터만 있다면 처음부터 수동으로 만드는 것도 가능합니다.
예시는 다음과 같습니다:
Name,Address,Number
John Doe,10th Street,555
참고: 모든 CSV 파일은 동일한 전체 구조를 따릅니다. 각 열(column)은 구분자(delimiter, 예: 쉼표)로 나뉘며, 새 줄은 새 행(row)을 의미합니다. 데이터를 CSV로 내보내는 일부 프로그램은 쉼표 대신 탭, 세미콜론 또는 공백 등 다른 문자로 값을 구분하기도 합니다.
위 예시는 CSV 파일을 텍스트 에디터로 열었을 때 데이터가 보이는 방식입니다. 그러나 Excel이나 OpenOffice Calc 같은 스프레드시트 프로그램은 셀(cell)에 정보를 표시하기 때문에, Name 값은 첫 번째 셀에 위치하고 그 아래 새 행에 John Doe가 배치되며 나머지 값들도 같은 패턴으로 정렬됩니다.
CSV 파일 안에 쉼표를 포함하거나 따옴표를 사용해야 하는 경우라면, edoceo와 CSVReader.com의 관련 글에서 올바른 처리 방법을 확인할 수 있습니다.
그래도 열리지 않나요?
CSV 파일은 겉보기엔 단순해 보이지만 사실 까다로울 수 있습니다. 언뜻 간단해 보여도 쉼표 하나만 잘못 놓이거나 앞서 설명한 기본적인 혼동만 생겨도 로켓 과학처럼 어렵게 느껴질 수 있습니다.
CSV 파일을 열 수 없거나 내부 텍스트를 읽을 수 없는 단순한 이유는, CSV 형식이 아닌 다른 파일을 CSV 파일로 착각했기 때문일 수 있습니다. 일부 파일은 확장자 글자가 일부 같지만 실제로는 동일한 형식이 아니거나 전혀 유사하지 않은 형식입니다.
CVS, CVX, CV, CVC는 확장자가 CSV와 비슷해 보여도 스프레드시트 프로그램에서 열리지 않는 대표적인 예입니다. 해당 파일이 이런 경우라면 Google이나 Lifewire에서 실제 확장자를 검색해 호환되는 실행 프로그램이나 변환기를 확인해 보세요.
자주 묻는 질문(FAQ)
- 아이폰 연락처를 CSV 파일로 내보내려면 어떻게 해야 하나요? Export to CSV 같은 서드파티 앱을 사용하면 아이폰에서 연락처를 내보낼 수 있습니다. Export to CSV 앱에서 Begin Exporting > + > Edit Column Data > 소스 선택 > Export 순서로 진행하세요.
- MATLAB에서 CSV 파일을 읽으려면 어떻게 해야 하나요? MATLAB에서 CSV 파일을 읽으려면 CSV 파일을 MATLAB 경로(path)상의 아무 폴더로 드래그 앤 드롭합니다. 그런 다음 MATLAB 명령 창에 m = csvread('name_of_file.dat');를 입력하고, name_of_file.dat 부분을 실제 CSV 파일 이름으로 바꿔 주세요.