Chapter 2: 파일 형식 완전 정복

엑셀 파일 (.xlsx) vs. CSV 파일

엑셀에서 데이터를 다뤄본 적이 있다면, 스프레드시트를 저장하거나 열 때 다양한 파일 형식을 접해봤을 것입니다. 가장 일반적으로 사용되는 두 가지 형식은 엑셀 파일(.xlsx)과 CSV 파일(.csv)입니다. 엑셀에서 데이터베이스와 SQL로 넘어가는 과정에서 이 둘의 차이를 이해하는 것은 매우 중요합니다.

엑셀 파일 (.xlsx): 기능이 풍부한 워크북

엑셀의 기본 파일 형식인 .xlsx는 다음과 같은 강력한 기능들을 지원하도록 설계되어 있습니다:

  • 여러 개의 워크시트를 하나의 파일에 포함 가능
  • 서식 기능 (색상, 글꼴, 조건부 서식 등)
  • 자동으로 계산되는 수식
  • 차트, 그래프, 시각화 요소
  • 매크로와 VBA 코드를 통한 자동화
  • 데이터 유효성 검사 규칙으로 입력 제어
  • 공동 작업용 댓글 및 메모

파일을 .xlsx 형식으로 저장하면 위 기능들이 모두 보존됩니다. 따라서 엑셀 파일은 분석, 보고서 작성, 마이크로소프트 오피스 생태계 내의 협업에 최적화된 형식입니다.

내부적으로 .xlsx 파일은 여러 개의 XML 파일이 압축된 ZIP 패키지로 구성되어 있으며, 이 XML 파일들은 데이터, 서식, 수식 등 워크북의 다양한 요소를 저장합니다. 이 구조는 엑셀 2007부터 도입된 현대적인 형식으로, 이전 .xls 형식보다 더 효율적이고 손상에 강합니다.

CSV 파일: 단순하고 범용적인 데이터 컨테이너

CSV(Comma-Separated Values) 파일은 훨씬 단순합니다:

  • 일반 텍스트 파일로 텍스트 에디터에서도 열 수 있음
  • 값들은 쉼표 (또는 다른 구분자)로 분리
  • 한 파일에 하나의 테이블만 존재 (여러 시트 불가)
  • 서식, 수식, 시각화 없음
  • 매크로나 삽입된 객체 없음

텍스트 에디터에서 CSV 파일을 열면 다음과 같이 보입니다:

Name,Department,Salary
John Smith,Marketing,65000
Sarah Johnson,Engineering,78000
Miguel Rodriguez,Sales,71500

엑셀에서 열면 익숙한 표 형태로 나타나지만, 모든 값은 정적인 순수 데이터입니다. 수식은 없으며 단지 계산된 값만 저장됩니다.

실무에서 중요한 주요 차이점

이러한 차이를 이해하면 상황에 맞는 올바른 파일 형식을 선택할 수 있습니다:

1. 호환성

  • 엑셀 파일은 Excel 또는 호환 프로그램(예: Google Sheets, LibreOffice)이 필요함
  • CSV 파일은 다음을 포함해 거의 모든 데이터 처리 도구에서 열 수 있음:
    • 모든 스프레드시트 프로그램
    • 텍스트 에디터
    • 데이터베이스 시스템
    • Python, R, SQL 같은 프로그래밍 언어

이러한 범용성 때문에 CSV 파일은 서로 다른 시스템 간 데이터 전달에 가장 많이 사용됩니다.

2. 파일 크기 및 성능

  • 엑셀 파일은 서식, 수식, 여러 시트를 포함하므로 파일 크기가 큼
  • CSV 파일은 순수 데이터만 포함하므로 훨씬 작음
  • 대용량 데이터셋에서는 CSV가 더 빠르게 로드되고 메모리도 적게 사용

3. 데이터 보존

  • 엑셀 파일은 수식, 서식, 여러 시트 등 모든 요소를 보존
  • CSV 파일값만 보존 – 수식은 계산된 값으로 저장되고, 서식은 사라지며, 하나의 시트만 저장됨

4. 데이터 타입

  • 엑셀 파일은 날짜, 숫자, 텍스트 등 적절한 데이터 타입을 유지
  • CSV 파일은 모든 데이터를 텍스트로 저장 – 날짜 포맷이 변경되거나 숫자 앞의 0이 사라지는 등의 문제가 발생할 수 있음

파일 내부는 어떻게 생겼을까? 데이터 저장 방식 엿보기

각 파일 형식 내부에서 실제로 어떤 일이 벌어지는지 좀 더 자세히 들여다봅시다.

엑셀 (.xlsx) 파일의 내부

엑셀 파일은 사실 ZIP 아카이브로, 내부에 여러 XML 파일이 포함되어 있습니다. .xlsx 확장자를 .zip으로 바꾸고 압축을 풀어보면 다음과 같은 파일들이 나타납니다:

  1. workbook.xml – 워크북의 전체 구조 저장
  2. worksheets/sheet1.xml, sheet2.xml 등 – 각 워크시트의 데이터 저장
  3. styles.xml – 모든 서식 정보 저장
  4. sharedStrings.xml – 여러 곳에서 사용되는 텍스트 값 저장
  5. 기타 파일들 – 차트, 이미지, 기타 기능 관련 정보 저장

이처럼 복잡한 구조 덕분에 엑셀은 다양한 기능을 지원하면서도 압축을 통해 파일 크기를 적당히 유지할 수 있습니다.

CSV 파일의 내부

CSV 파일은 훨씬 간단합니다 – 그냥 텍스트 파일일 뿐입니다:

  1. 데이터의 각 행이 한 줄씩 존재
  2. 값들은 쉼표(또는 탭, 세미콜론 등의 구분자)로 구분됨
  3. 컬럼명이 포함된 헤더 행이 있을 수도 있음
  4. 서식, 데이터 타입, 구조에 대한 메타데이터 없음

이러한 단순함은 장점이자 단점입니다. CSV는 생성, 읽기, 시스템 간 전송이 매우 쉽지만, 데이터에 대한 복잡한 정보는 저장할 수 없습니다.

언제 엑셀 vs CSV vs 구글 시트?

각 파일 형식은 목적에 따라 알맞은 사용 사례가 있습니다:

다음의 경우 엑셀(.xlsx)을 사용하세요:

  • 수식, 서식, 여러 워크시트를 보존해야 할 때
  • 복잡한 계산이나 데이터 모델링이 필요한 경우
  • 차트나 시각화가 포함된 리포트를 만들 때
  • 데이터 유효성 검사, 조건부 서식, 매크로 등이 필요한 경우
  • Microsoft Office 환경 내에서 주로 사용되는 경우
  • 특정 셀이나 시트를 편집 불가능하게 보호할 필요가 있을 때

다음의 경우 CSV(.csv)를 사용하세요:

  • 데이터를 데이터베이스나 외부 시스템에 임포트해야 할 때
  • 엑셀이 없는 사용자와 데이터를 공유할 때
  • Python, R 등의 프로그래밍 언어와 함께 사용할 때
  • 엑셀이 느려지는 대용량 데이터를 다룰 때
  • 순수한 데이터 값만 필요하고 수식/서식은 불필요할 때
  • 어디서나 작동하는 단순하고 범용적인 형식이 필요할 때

다음의 경우 구글 시트를 사용하세요:

  • 실시간 협업이 중요한 경우
  • 여러 기기에서 클라우드 기반 접근이 필요한 경우
  • 비교적 간단한 데이터 작업을 하는 경우
  • 자동 버전 관리 기능이 필요한 경우
  • 데이터를 웹에 게시하거나 다른 페이지에 임베드해야 할 때
  • Microsoft Office가 없는 사용자와 협업할 때

데이터베이스로 가는 다리

파일 형식을 이해하는 것은 엑셀에서 데이터베이스와 SQL로 넘어가는 과정에서 중요한 단계입니다. 그 이유는 다음과 같습니다:

  • CSV 파일은 종종 데이터베이스에 데이터를 임포트할 때 사용됩니다
  • 데이터베이스에서 데이터를 추출(export)할 때도 자주 CSV 형식이 사용됩니다
  • 엑셀과 CSV의 한계는 대규모 데이터 관리에는 데이터베이스가 필수라는 사실을 부각시킵니다

데이터가 크고 복잡해질수록, 엑셀이나 CSV만으로는 충분하지 않다는 것을 알게 됩니다. 하지만 각 파일 형식을 언제, 어떻게 사용할지 아는 것은 여전히 데이터 전문가로서 중요한 스킬입니다.

다음 챕터에서는 엑셀의 워크북과 워크시트 개념이 데이터베이스의 데이터베이스와 테이블에 어떻게 매핑되는지 알아보며, 보다 강력한 데이터 관리 도구로의 전환을 준비해봅니다.