CSV·엑셀 → Parquet 변환
한글 CSV(EUC-KR)도 자동으로 읽어요. 수십만 행까지는 금방 되고, 100MB가 넘는 CSV는 시간이 걸려요.
또는 표 붙여 넣기
CSV를 Parquet로 바꾸면 작고 빨라져요
Parquet(파케이)는 표를 열 단위로 묶어 압축하는 데이터 형식이에요. 같은 값이 많은 열은 크게 줄어들어 CSV보다 훨씬 작아지는 경우가 많고, 열 형식(정수·날짜 등)이 함께 저장돼 읽을 때 숫자·날짜를 다시 해석할 필요가 없어요. 파이썬 pandas, DuckDB, Spark, BigQuery, 클라우드 데이터 웨어하우스에 올릴 데이터를 준비할 때 쓰세요.
쓰는 법
- CSV·엑셀 파일을 넣거나 표를 붙여 넣어요. 첫 줄은 열 이름으로 써요. 엑셀은 시트를 고를 수 있어요.
- 열마다 알아낸 형식을 확인하고 필요하면 바꿔요. 우편번호·전화번호처럼 0으로 시작하는 숫자는 자동으로 ‘문자’가 돼요.
- 압축 방식과 행 그룹 크기를 고르고 ‘Parquet로 받기’를 눌러요. 원본과 크기를 비교해 보여 줘요.
형식은 이렇게 저장돼요
문자는 UTF-8 문자열, 정수는 64비트 정수(INT64), 실수는 64비트 실수(DOUBLE), 참·거짓은 BOOLEAN, 날짜는 DATE(1970-01-01부터의 날 수), 날짜·시각은 밀리초 단위 TIMESTAMP로 저장해요. 날짜·시각은 시간대 없이 적힌 그대로(UTC로 간주) 넣어요. 빈칸은 null이 돼요. 형식과 맞지 않는 값이 있으면 어느 줄인지 알려 주고 멈춰요. ‘1,234’처럼 쉼표가 든 숫자도 숫자로 읽어요.
파일은 hyparquet-writer(MIT)로 만들고, GZIP 압축은 fflate(MIT)를 써요. 모든 처리는 브라우저 안에서만 해요.
참고한 자료
- Apache Parquet — Types / Logical Types — 형식(INT64, DOUBLE, DATE, TIMESTAMP_MILLIS, UTF8)
- hyparquet-writer (MIT) — 쓰기 엔진
자주 묻는 질문
Snappy와 GZIP 중 무엇을 고를까요?
Snappy는 읽고 쓰기가 빠르고 대부분의 도구가 기본으로 써요. 파일 크기를 더 줄이고 싶으면 GZIP을 고르세요. 둘 다 pandas·Spark에서 그대로 읽혀요.
행 그룹 크기는 무엇인가요?
행을 몇 줄씩 묶어 저장할지예요. 큰 묶음은 압축이 조금 더 잘 되고, 작은 묶음은 일부만 읽을 때 빨라요. 잘 모르면 기본값(10만 행)을 쓰세요.
엑셀 수식도 옮겨지나요?
수식이 아니라 계산된 값이 들어가요.
함께 쓰면 좋은 도구
- Parquet 파일 보기·CSV·엑셀 변환 (파케이 뷰어).parquet 파일의 열 구조·행 수·압축 방식을 보고, 데이터를 표로 훑어보고, CSV·엑셀·JSON으로 바꿔 받기
- CSV를 엑셀로 (한글 깨짐 없이)CSV → XLSX 변환, EUC-KR·UTF-8 자동 인식, 0으로 시작하는 번호 보존
- CSV 미리보기·필터 (큰 CSV를 표로 보고 검색)엑셀로 열기 힘든 큰 CSV·TSV를 표로 보고, 검색·열 필터·정렬, 걸러낸 결과만 CSV·엑셀로 저장
- 엑셀을 CSV로 (UTF-8·EUC-KR 선택)XLSX → CSV, UTF-8(BOM)·EUC-KR 인코딩과 구분 기호 선택
- CSV 한글 깨짐 고치기 (EUC-KR ↔ UTF-8)EUC-KR ↔ UTF-8 변환, 깨진 글자 미리 보고 바로잡기
- 문자 인코딩 변환기 (여러 파일 EUC-KR ↔ UTF-8 ↔ UTF-16, BOM·줄바꿈)TXT·SRT·SMI·HTML·소스 파일 여러 개를 한 번에 EUC-KR·UTF-8·UTF-16으로, BOM 붙이기·빼기, CRLF↔LF, ZIP으로