mygems

1GB CSV 파일 여는 방법 (2026 guide)

1GB CSV를 여는 도구, 필요한 RAM, 조용히 잘라내는 도구를 비교합니다.

작성: uos ·

1GB짜리 CSV는 평범한 표 형식 데이터라면 대략 500만~1,000만 행입니다. 기가바이트보다 이 숫자가 더 중요합니다. 스프레드시트 시트 하나에 들어가는 행 수의 이미 다섯 배이기 때문입니다. 그래서 가장 먼저 받아들여야 할 것은 "엑셀로 열기"가 애초에 선택지에 없었다는 점입니다.

그다음에 무엇을 쓸지는 질문 하나에 달려 있습니다. 파일을 들여다봐야 합니까, 아니면 파일에서 답을 뽑아내야 합니까?

  • 답이 필요할 때 — 합계, 필터, 조인, 중복 개수: DuckDB입니다. 명령어 한 줄, 10초, 가져오기(import) 과정이 없습니다.
  • 들여다봐야 할 때 — 스크롤하고, 검색하고, 데이터의 모양을 훑어보기: 스트리밍으로 읽는 뷰어를 씁니다. Windows에서는 EmEditor, 어디서나 less, 파일이 휴대폰에 있다면 휴대폰 앱입니다.
  • 편집하고 다시 저장해야 할 때: 가장 어렵고 좋은 답도 가장 적습니다. 아래에서 다룹니다.

비교표

시간은 SSD가 달린 보통 16GB 노트북에서 1GB, 약 800만 행 파일을 열었을 때의 대략적인 값입니다. 벤치마크가 아니며, 열 구성과 디스크에 따라 달라집니다. 달라지지 않는 것은 마지막 열입니다.

도구1GB를 열 수 있나?첫 행까지 시간최대 RAM비용
Excel불가 — 최대 1,048,576행——유료
Excel + Power Query가능(로드 단계로)수 분높음유료
Google Sheets불가 — 1,000만 셀, 업로드 약 100MB——무료
Numbers불가 — 100만 행, 그 전에 이미 느려짐——무료
DuckDB가능약 1초약 200MB무료
Python + pandas가능(chunksize 사용 시)30초 이상순진하게 쓰면 5–10GB무료
Python + Polars가능약 5초약 1.5GB무료
EmEditor(Windows)가능, 여유롭게약 5초낮음유료
VS Code버거워함30초 이상높음무료
less / head / awk가능즉시거의 0무료
OpenRefine가능, 느림수 분높음무료
휴대폰 CSV 앱가능(대용량용으로 만든 경우)수 초자동 관리무료 플랜

이 중 두 줄은 함정입니다. Google Sheets는 1,000만 셀을 내세워 꽤 가까워 보이지만, 20열짜리 파일은 50만 행에서 그 한도에 닿고, 업로드 제한이 그보다 훨씬 먼저 막아 버립니다. pandas는 파일을 선뜻 열어 주지만, 모든 텍스트 열을 Python 객체로 저장하기 때문에 파일 크기의 여덟 배나 되는 RAM을 씁니다. "열리긴 했는데 노트북이 죽었다"는 후기의 정체가 바로 이 스왑 폭주입니다.

실제로 하려는 일에 따라

답이 필요할 때

DuckDB가 압도적입니다.

duckdb -c "SELECT region, COUNT(*), SUM(amount) FROM 'big.csv' GROUP BY region"

파일을 병렬로 읽고, 통째로 올리지 않고 스트리밍으로 처리하며, 쿼리의 작업 영역을 크게 넘는 메모리를 쓰지 않습니다. 800만 행에 대한 GROUP BY도 몇 초면 끝납니다. 타입 지정, 두 파일 조인, 결과 내보내기까지 자세한 방법은 데이터베이스 없이 CSV에서 SQL 쿼리 실행하기에 있습니다.

Python을 계속 쓰고 싶다면 scan_csv를 쓰는 Polars(지연 실행으로, 읽기 전에 쿼리 전체를 계획합니다)나, chunksize와 dtype 매핑을 명시한 pandas를 쓰세요. 순진한 pd.read_csv('big.csv')는 피해야 합니다.

들여다봐야 할 때

Windows에서는 EmEditor. 대용량 파일 편집기 중 유일하게 제대로 버티며, 수 GB짜리 CSV를 정렬과 필터가 되는 그리드로 열어 줍니다. 유료지만 이 문제가 반복된다면 값어치를 합니다.

어디서나 셸. 큰 파일을 처음 5분 동안 다룰 때 과소평가되는 도구입니다.

head -5 big.csv                 # what are the columns
wc -l big.csv                   # how many rows really
awk -F, 'NR<=1000' big.csv > sample.csv   # a slice you can open normally
less -S big.csv                 # scroll it, no line wrapping

1,000행짜리 샘플을 만들어 그것을 엑셀에서 여는 편이, 전체를 여는 어떤 도구보다 "이 파일에 뭐가 들었지?"에 빨리 답해 줍니다.

VS Code와 Notepad++는 안 됩니다. 둘 다 파일 전체를 텍스트로 메모리에 올립니다. 열기는 하지만 느리고, 경고가 뜨고, 끝에 가서도 쓸 만한 표 보기가 없습니다.

파일이 휴대폰에 있을 때

1GB는 여기서 어려운 경우입니다. 휴대폰은 노트북보다 RAM이 적고, 앱이 쥘 수 있는 양의 제한도 더 엄격합니다. 휴대폰에서 1GB 전체를 편하게 여는 앱은 없으니, 그렇다고 주장하는 앱은 믿기 전에 직접 시험해 보세요. 휴대폰 앱이 잘하는 것은 그 바로 아래 구간입니다. 휴대폰 스프레드시트가 조용히 잘라 버리는, 100–500MB에 수십만 행짜리 내보내기 파일입니다.

CSV File Viewer - Smart CSViPhone 및 iPad · Android

큰 파일을 자르지 않고 열고, SQL이나 일상 언어로 데이터에 대해 질문할 수 있습니다. 스크롤하기엔 너무 큰 파일에서 보통 원하는 것이 바로 이것입니다. iOS와 Android.

기능

중요한 파일을 휴대폰 앱에 맡기기 전에, 이 글 마지막 섹션의 확인 방법을 따라 해 보세요.

편집하고 다시 저장해야 할 때

"편집"은 파일을 붙들고 있다가 다시 통째로 써야 한다는 뜻이라, 이 경우에는 정직한 답이 가장 적습니다.

  • 몇 군데만 정확히 고칠 때 — 값 하나 수정, 열 하나 삭제: DuckDB나 awk로 새 파일을 만드세요. 어떤 대화형 도구보다 빠르고 원본도 그대로 남습니다.
  • Windows에서 본격적인 대화형 편집: EmEditor.
  • 그 외 환경에서 본격적인 대화형 편집: 먼저 파일을 나누세요. split -l 1000000 big.csv part_로 스프레드시트가 담을 수 있는 크기로 쪼갤 수 있지만, 나중에 다시 합쳐야 합니다(cat으로 되지만, 반복된 헤더 행은 지우세요).
  • 약 50만 행 이하라면 휴대폰 편집기로 바로 다룰 수 있습니다.
CSV Editor - Smart CSViPhone 및 iPad

50만 행 파일을 스프레드시트처럼 편집하고, 저장할 때 모든 행을 다시 씁니다. 무료 버전도 같습니다. iOS와 iPadOS.

기능

문제 자체를 변환해서 없애기

파일을 두 번 넘게 만질 거라면, CSV로 다루는 것을 그만두세요.

duckdb -c "COPY (SELECT * FROM 'big.csv') TO 'big.parquet'"

Parquet은 열 지향이고, 타입이 있고, 압축되어 있습니다. 1GB CSV가 100–200MB로 줄고, 몇 개 열만 훑는 쿼리는 5~20배 빨라지며, 씨름하던 타입도 이제 파일에 저장됩니다. DuckDB, Polars, pandas 모두 바로 읽을 수 있습니다. 이 글에서 가장 가성비 좋은 10초입니다.

도구가 정말 전부 열었는지 확인하기

대용량 CSV를 일부만 열고도 어디까지인지 알려 주지 않는 도구가 많습니다. 파일에서 결론을 내기 전에 확인하세요.

  1. 먼저 도구 밖에서 행 수를 세세요: wc -l big.csv. 헤더 몫으로 1을 뺍니다.
  2. 도구에서 마지막 행으로 이동해서 개수를 비교합니다.
  3. 마지막 행의 내용을 tail -1 big.csv와 비교합니다.

일치하지 않으면 그 도구가 잘라낸 것입니다. 그렇게 얻은 결론(합계, 최댓값, "그 지역 주문은 없다")은 화면 어디에도 표시가 없는 채로 틀린 값이 됩니다. 대용량 파일에서 진짜 위험은 충돌보다 이 조용한 잘림입니다. 충돌은 적어도 정직하니까요.

실패한 것이 특히 Excel일 때

헷갈리기 쉬운 이웃한 두 문제가 있습니다. Excel이 파일을 거부했거나 일부만 보여 줬다면 행 수 한도 문제이고, 우회 방법은 Excel에서 열리지 않는 대용량 CSV 파일 여는 방법에서 다룹니다. Excel이 파일을 열긴 했는데 멈추거나 응답 없음이 되거나 꺼졌다면 원인이 다른 별개의 문제이며, Excel이 대용량 파일에서 죽는 이유에서 설명합니다.

자주 묻는 질문

1GB CSV 파일은 몇 행인가요?
평범한 표 형식 데이터라면 열 수와 값의 길이에 따라 대략 500만~1,000만 행입니다. 이미 Excel 워크시트 한도인 1,048,576행의 다섯 배이므로, 파일 크기보다 행 수가 더 중요합니다.
1GB CSV 파일을 가장 빠르게 여는 방법은 무엇인가요?
답을 뽑아내고 싶다면 DuckDB입니다. 파일을 그 자리에서 약 1초 만에 쿼리하고 RAM은 수백 MB만 씁니다. 스크롤하며 보고 싶다면 Windows에서는 EmEditor가 그리드로 열어 주고, `less -S`는 어디서나 되며 즉시 시작됩니다.
Excel에서 1GB CSV 파일을 열 수 있나요?
바로는 안 됩니다. 워크시트는 1,048,576행까지이고 1GB CSV는 보통 그 몇 배의 행을 가지므로, Excel은 들어가는 만큼만 불러오고 멈춥니다. Power Query는 모든 행을 시트에 올리지 않고 로드 후 요약하는 단계로 전체 파일을 처리할 수 있지만, 이는 파일을 여는 것과는 다른 작업 방식입니다.
pandas는 왜 1GB CSV를 읽는 데 RAM 8GB를 쓰나요?
텍스트 열이 Python 객체로 저장되어 각각 메모리 오버헤드가 붙고, read_csv가 반환하기 전에 전체 데이터프레임을 메모리에 만들기 때문입니다. dtype 매핑과 chunksize를 지정하거나, pyarrow 엔진을 쓰거나, scan_csv로 쿼리를 지연 계획해 훨씬 적게 읽는 Polars를 쓰세요.
도구가 내 CSV를 잘라냈는지 어떻게 알 수 있나요?
도구 밖에서 `wc -l`로 행 수를 세고, 도구 안에서 마지막 행으로 이동해 비교하세요. 마지막 행의 내용도 `tail -1`과 대조합니다. 조용한 잘림은 충돌보다 위험합니다. 화면에서 읽은 모든 합계와 최댓값이 모르는 사이에 틀린 값이 되기 때문입니다.
큰 CSV는 Parquet으로 변환하는 게 좋을까요?
두 번 넘게 쿼리할 거라면 그렇습니다. DuckDB COPY 명령 하나로 1GB CSV가 100–200MB의 Parquet 파일이 되고, 타입이 지정되며 열 지향이라 스캔이 5~20배 빨라집니다. DuckDB, Polars, pandas 모두 바로 읽을 수 있습니다.

uos — CSV Editor와 Smart CSV Viewer를 만들며, 이 표의 대부분을 직접 필요해서 측정했습니다.