반응형
소프트웨어별 CSV 최대 줄(Row) 수 제한 : excel, XLSX, Google Sheets, MySQL
소프트웨어별 CSV 파일의 최대 줄(Row) 수 제한은 각 프로그램 및 라이브러리의 메모리 할당 방식과 32비트/64비트 환경에 따라 다릅니다. 주요 소프트웨어 및 라이브러리의 CSV 처리 한계를 정리하면 다음과 같습니다.
📌 소프트웨어별 CSV 최대 줄(Row) 수 제한
소프트웨어/라이브러리 | 최대 줄 수 제한 | 설명 |
Microsoft Excel (XLSX) | 1,048,576 줄 | 한 워크시트에서 열 수 있는 최대 행 수 (XLSX 기준) |
Microsoft Excel (CSV 열기) | 약 1,048,576 줄 | 메모리 한계에 따라 다를 수 있음 |
Google Sheets | 10,000,000 셀 | 예를 들어 10개 열이 있다면 최대 약 1,000,000줄 |
LibreOffice Calc | 1,048,576 줄 | 엑셀과 동일한 최대 한계 |
Apache OpenOffice Calc | 1,048,576 줄 | LibreOffice와 동일 |
Python Pandas | 이론적으로 무제한 | 메모리(RAM) 한계에 의해 결정됨 |
Python CSV 라이브러리 | 이론적으로 무제한 | 한 줄씩 처리 가능하므로 메모리 제한을 적게 받음 |
R (data.table, read.csv 등) | 이론적으로 무제한 | 메모리 크기에 따라 달라짐 |
Microsoft Access | 2GB 파일 크기 제한 | 파일 크기 내에서 줄 수가 결정됨 |
Google BigQuery | 5TB 파일 크기 제한 | 행(Row) 개수에 대한 제한은 없음 |
MySQL (CSV IMPORT) | 4,294,967,295 줄 | 테이블의 최대 행 수에 따라 달라짐 (InnoDB 기준) |
PostgreSQL (CSV IMPORT) | 2^32 (~40억 줄) | 테이블 크기에 의해 제한됨 |
SQLite | 약 2TB 파일 크기 제한 | 행 개수는 테이블 크기에 따라 달라짐 |
📌 CSV 크기 문제를 해결하는 방법
1️⃣ 엑셀에서 큰 CSV 파일을 다룰 때
엑셀의 1,048,576줄 제한을 초과하는 CSV를 열려면 텍스트 편집기 또는 Pandas (Python) 을 사용해야 합니다.
import pandas as pd
df = pd.read_csv("large_file.csv", chunksize=100000) # 10만 줄씩 나누어 처리
for chunk in df:
print(chunk.head()) # 일부 데이터 확인
✅ 해결법: chunksize를 사용하여 한 번에 메모리에 적재할 수 있는 데이터 크기를 조정
2️⃣ Google Sheets에서 10M 셀 제한 해결법
Google Sheets는 10,000,000 셀(예: 10개 열이면 최대 1,000,000줄)까지만 허용됩니다.
이보다 큰 데이터를 다루려면 BigQuery 또는 Google Colab + Pandas를 사용하는 것이 좋습니다.
from google.colab import auth
import gspread
from google.auth import default
auth.authenticate_user()
creds, _ = default()
gc = gspread.authorize(creds)
sh = gc.create("Large CSV Data")
worksheet = sh.get_worksheet(0)
worksheet.update([df.columns.values.tolist()] + df.values.tolist())
✅ 해결법: gspread를 사용하여 데이터를 Google Sheets로 나누어 업로드
반응형
3️⃣ 데이터베이스(MySQL, PostgreSQL) 사용
대용량 CSV 파일을 처리할 때는 데이터베이스에 저장 후 분석하는 것이 효율적입니다.
✅ MySQL로 CSV 데이터 Import
LOAD DATA INFILE '/path/to/large_file.csv'
INTO TABLE my_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
✅ PostgreSQL로 CSV 데이터 Import
COPY my_table FROM '/path/to/large_file.csv' WITH (FORMAT csv, HEADER true);
✅ 해결법: 데이터베이스에 적재하여 SQL로 분석
📌 결론
- 엑셀: 1,048,576줄 제한 → Pandas 또는 데이터베이스 활용 필요
- Google Sheets: 10M 셀 제한 → BigQuery 또는 Colab 사용
- Python Pandas: 메모리 한계 없음 → chunksize 활용하여 처리 가능
- 데이터베이스(MySQL, PostgreSQL): 대량 데이터 처리 가능, 성능 최적화 필요
📌 대용량 CSV 데이터를 다룰 때는 Excel이 아닌 Pandas 또는 데이터베이스를 사용하는 것이 가장 효율적입니다! 🚀
반응형
'코딩취미 > 프로그램 지식' 카테고리의 다른 글
CSV 파일 크기 문제 해결 방법: 초급, 중급, 고급 단계별 가이드 (0) | 2025.03.13 |
---|---|
대용량 CSV 데이터를 다루는 방법 총정리 (0) | 2025.03.12 |
Latest Version vs LTS Version의 차이점 및 사용 비용 (0) | 2025.03.07 |
#if ! 과 #ifndef 에 대한 가이드 (0) | 2025.03.02 |
Keil µVision 프로젝트 파일 .uvprojx와 .uvoptx 정리 (0) | 2025.03.01 |