안녕하세용~ 오늘은 Google Colab에서 데이터 분석하다가 한글이 ㅁㅁㅁ 요렇게 깨지는 문제.. 완전 짜증나는 그 문제를 해결하는 방법에 대해 알려드릴게요!!
저도 처음에 Colab 쓸 때 matplotlib으로 그래프 그렸는데 제목이랑 축 이름이 전부 네모박스로 나와서 진짜 당황했거든용 ㅋㅋ
근데 의외로 해결방법은 정말 간단합니다~! ^_^
왜 한글이 깨지는 걸까요?
일단 원인부터 알아야겠죠?
Google Colab은 기본적으로 한글 폰트가 설치되어 있지 않습니다. 그래서 matplotlib이나 seaborn 같은 시각화 라이브러리로 그래프를 그릴 때 한글을 표현할 수가 없어요. 컴퓨터 입장에서는 "어? 이 글자 뭔지 모르겠는데?" 요런 상황인 거죠 ㅎㅎ
그리고 또 다른 케이스로는, pandas로 CSV 파일 읽거나 쓸 때 인코딩 문제로 한글이 깨지는 경우가 있어요. 특히 공공데이터 포털에서 받은 파일들은 대부분 cp949나 euc-kr로 인코딩되어 있는데, 이걸 utf-8로 읽으려고 하면 완전 난리가 나는 거죠...
정리하면 요런 케이스들이 있습니다
| matplotlib/seaborn 그래프 | 한글 폰트 미설치 | 그래프 제목, 축 이름이 ㅁㅁㅁ로 표시 |
| pandas CSV 읽기 | 인코딩 불일치 (cp949 vs utf-8) | UnicodeDecodeError 발생 또는 한글 깨짐 |
| pandas CSV 쓰기 | utf-8 인코딩만 사용 | 윈도우 엑셀에서 열면 한글 깨짐 |
해결방법 1: 나눔폰트 설치하기 (가장 간단!)
요건 matplotlib이나 seaborn 쓸 때 한글이 깨지는 문제를 해결하는 방법이에요. 2025년 현재 가장 많이 쓰이는 방법이고, 제일 간단합니다!!
Step 1: 폰트 설치 코드 실행
Colab 노트북 맨 위에 새로운 셀을 만들고 아래 코드를 붙여넣기 해주세요~
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
요 코드가 뭐하는 건지 간단하게 설명하자면:
- !sudo apt-get install -y fonts-nanum: 나눔 폰트를 설치합니다
- !sudo fc-cache -fv: 폰트 캐시를 갱신합니다
- !rm ~/.cache/matplotlib -rf: matplotlib 캐시를 삭제합니다
Step 2: 런타임 다시 시작
코드 실행하고 나면, 반드시 런타임을 재시작해야 해요!
상단 메뉴에서 런타임 → 런타임 다시 시작 클릭! (이거 완전 중요합니다 ^^)
Step 3: 폰트 설정 코드 추가
이제 그래프 그리기 전에 요 코드를 실행해주세요~
import matplotlib.pyplot as plt
plt.rc('font', family='NanumBarunGothic')
끝~~ 이제 한글이 정상적으로 나옵니다! ㅎㅎ
해결방법 2: pandas CSV 파일 읽을 때 인코딩 지정
공공데이터 같은 거 다운받아서 읽을 때 자주 발생하는 문제죠. 요건 인코딩을 정확하게 지정해주면 됩니다!
케이스 1: cp949 인코딩 파일
대부분의 한국 공공데이터는 cp949로 되어 있어요.
import pandas as pd
# 일반적인 경우
df = pd.read_csv('파일명.csv', encoding='cp949')
# 그래도 안되면
df = pd.read_csv('파일명.csv', encoding='euc-kr')
케이스 2: 어떤 인코딩인지 모를 때
여러 인코딩을 시도해보거나, 아니면 에러를 무시하는 방법도 있어요.
# 에러 무시하고 읽기
df = pd.read_csv('파일명.csv', encoding='utf-8', encoding_errors='ignore')
# 또는 unicode_escape 사용
df = pd.read_csv('파일명.csv', encoding='unicode_escape')
요 표로 정리해볼게요!
| encoding='cp949' | 한국 공공데이터 (대부분) | 가장 먼저 시도 |
| encoding='euc-kr' | cp949로 안될 때 | 두 번째 시도 |
| encoding='utf-8' | 최근 파일, 국제 표준 | 기본값 |
| encoding_errors='ignore' | 일부 글자 깨져도 OK | 비상용 |
해결방법 3: pandas CSV 저장할 때 utf-8-sig 사용
요건 반대로 CSV 파일을 저장할 때 윈도우 엑셀에서도 잘 보이게 하는 방법이에요!
import pandas as pd
# 일반 utf-8은 윈도우 엑셀에서 깨짐
df.to_csv('결과.csv', index=False, encoding='utf-8') # ❌ 깨짐
# utf-8-sig 사용하면 해결!
df.to_csv('결과.csv', index=False, encoding='utf-8-sig') # ✅ 정상
utf-8-sig가 뭔데?
utf-8-sig는 파일 맨 앞에 BOM(Byte Order Mark)이라는 특수한 표시를 추가해요. 요게 있으면 윈도우 엑셀이 "아~ 이 파일은 UTF-8이구나!" 하고 인식한답니다 ㅎㅎ
완전 간단하죠? 그냥 utf-8 대신 utf-8-sig만 써주면 되는 거라노~
비교표: 각 방법 언제 쓸까?
| matplotlib 그래프 한글 깨짐 | 나눔폰트 설치 + plt.rc 설정 | ⭐ 쉬움 |
| CSV 읽기 에러 (UnicodeDecodeError) | encoding='cp949' 또는 'euc-kr' | ⭐ 쉬움 |
| CSV 저장 후 엑셀에서 깨짐 | encoding='utf-8-sig' | ⭐ 쉬움 |
| 모든 케이스 종합 | 위 3가지 조합 | ⭐⭐ 보통 |
주의사항!!
몇 가지 팁을 드리자면요~
- 런타임 재시작은 필수: 폰트 설치하고 런타임 재시작 안하면 소용없어요! 꼭 해주세용
- 매번 설정 필요: Colab은 세션이 끊기면 초기화되니까, 새로운 노트북 열 때마다 폰트 설치 코드를 다시 실행해야 해요
- 인코딩은 파일마다 다름: cp949로 안되면 euc-kr, 그것도 안되면 utf-8 이런 식으로 시도해보세요!
마무리
Google Colab 한글 깨짐 문제, 생각보다 해결이 간단하죠? ㅎㅎ
정리하자면
- 그래프 한글 깨짐 → 나눔폰트 설치 + 런타임 재시작
- CSV 읽기 깨짐 → encoding 옵션 조정 (cp949, euc-kr)
- CSV 저장 깨짐 → utf-8-sig 사용
요 세 가지만 기억하시면 Colab에서 한글 관련 문제는 99% 해결됩니다!! 완전
혹시 이것도 안되면 댓글로 상황 알려주세요~ 같이 해결해봅시다아 ㅎㅎ
데이터 분석 화이팅!! 🔥
해시태그
#GoogleColab #구글코랩 #한글깨짐 #한글깨짐해결 #matplotlib한글 #pandas한글 #데이터분석 #Python #파이썬 #인코딩 #UTF8 #CP949 #나눔폰트 #NanumFont #CSV한글 #데이터전처리 #Colab사용법 #주피터노트북 #JupyterNotebook #코딩 #프로그래밍 #머신러닝 #MachineLearning #DataScience #데이터사이언스 #초보개발자 #개발자 #코딩공부 #데이터분석공부 #Seaborn #시각화 #데이터시각화 #엑셀 #공공데이터 #UnicodeError #인코딩오류
'=_= > 컴퓨터 잘 아는척 얘기 (컴.잘.아.)' 카테고리의 다른 글
| 맥북 맥미니 아이맥 화면공유 다른 네트워크에서 원격 연결하는 방법 (0) | 2025.11.05 |
|---|---|
| 랜덤 포레스트(Random Forest) 알고리즘이란? (2) | 2025.03.13 |
| 맥북 단축키, 왜 Ctrl 대신 Command를 써야 할까? (5) | 2025.01.04 |
| UNIX 시스템이란? (1) | 2025.01.04 |
| IBM PC 란? (1) | 2025.01.04 |