업무에서 데이터를 다루다 보면 xlsx 파일과 CSV 파일을 모두 마주치게 됩니다. 두 형식 모두 표 형태의 데이터를 저장하지만, 구조와 목적이 근본적으로 다릅니다. 어떤 상황에서 어떤 형식을 선택해야 할지 실무 기준으로 정리합니다.
CSV(Comma-Separated Values)는 이름 그대로 쉼표(,)로 값을 구분하는 순수 텍스트 파일입니다. 메모장으로 열어도 내용을 그대로 읽을 수 있을 만큼 단순한 구조입니다.
예를 들어 이름, 나이, 도시 세 개의 열이 있는 데이터는 CSV에서 이렇게 저장됩니다.
이름,나이,도시
홍길동,32,서울
김영희,28,부산
파일 크기가 작고 어떤 프로그램에서도 읽을 수 있어 데이터 교환 용도로 오랫동안 사용되어 왔습니다. 데이터베이스, ERP, CRM 시스템 대부분이 CSV 내보내기를 지원하는 이유가 여기에 있습니다.
xlsx는 Microsoft Excel의 기본 파일 형식입니다. 실제로는 여러 XML 파일을 묶은 압축 패키지(.zip) 구조이며, 단순한 값 외에도 다양한 정보를 함께 저장합니다.
같은 데이터를 xlsx로 저장하면 서식, 수식, 시트 구성 등 모든 정보가 보존됩니다. 대신 파일 크기가 CSV보다 훨씬 크고, Excel이 없으면 열기 어려울 수 있습니다.
| 항목 | CSV | xlsx (Excel) |
|---|---|---|
| 파일 구조 | 순수 텍스트 | XML 기반 압축 패키지 |
| 시트 수 | 1개 (단일 시트) | 여러 시트 지원 |
| 수식·함수 | 저장 불가 | 저장 가능 |
| 셀 서식 | 저장 불가 | 저장 가능 |
| 차트·피벗 | 저장 불가 | 저장 가능 |
| 파일 크기 | 작음 | 상대적으로 큼 |
| 호환성 | 모든 프로그램 | Excel 또는 호환 소프트웨어 |
| 인코딩 문제 | 자주 발생 (UTF-8/EUC-KR) | 거의 없음 |
CSV가 더 적합한 상황은 다음과 같습니다.
read_csv()처럼 대부분의 데이터 분석 도구는 CSV를 기본으로 지원합니다.xlsx가 더 적합한 상황은 다음과 같습니다.
CSV를 Excel에서 열었을 때 한글이 깨지는 경우가 자주 발생합니다. CSV 파일이 UTF-8로 저장되었는데 Excel이 EUC-KR(CP949)로 읽으려 해서 생기는 문제입니다. 반대로 EUC-KR로 저장된 파일을 다른 시스템에서 UTF-8로 읽어도 깨집니다.
해결책: CSV를 저장할 때 "UTF-8 BOM"(UTF-8 with BOM) 형식으로 저장하면 Excel에서도 한글이 정상적으로 표시됩니다.
데이터 값 안에 쉼표(,)가 포함된 경우 구분자와 충돌합니다. 예를 들어 주소 필드에 "서울시, 강남구"처럼 쉼표가 있으면 두 개의 열로 잘못 나뉩니다. 이를 방지하려면 해당 값을 큰따옴표로 감싸야 합니다.
CSV는 모든 값을 텍스트로 저장합니다. Excel에서 날짜, 통화, 퍼센트 등으로 표시되던 값이 CSV로 저장하면 그냥 숫자로 변환되거나, 반대로 숫자가 텍스트로 인식되어 계산이 안 되는 경우가 생깁니다.
실무에서는 두 형식을 목적에 따라 나누어 사용하는 경우가 많습니다. 원본 데이터는 데이터베이스에서 CSV로 추출해 보관하고, 이를 가공해 보고서를 만들 때는 xlsx로 변환하는 방식입니다.
이렇게 하면 원본 데이터의 무결성을 CSV로 유지하면서, 최종 산출물은 xlsx의 풍부한 서식 기능을 활용할 수 있습니다. 두 파일 간의 차이를 추적해야 할 때는 파일 비교 도구를 활용하면 변경 내역을 빠르게 확인할 수 있습니다.
ExcelDiff에서 두 파일을 나란히 비교하고 수정된 셀, 추가·삭제된 행을 즉시 확인하세요. 브라우저에서만 처리되어 파일이 외부로 전송되지 않습니다.
무료로 파일 비교하기