티스토리 뷰

데이터 분석이나 개발 업무를 하다 보면, Python이나 웹에서 추출한 CSV 파일을 엑셀에서 열었을 때 한글이 믜/?? 처럼 외계어로 깨져 나오는 경험, 다들 한 번쯤 있으시죠?

 


이는 파일이 UTF-8로 저장되었는데, 엑셀(특히 구버전이나 기본 설정)은 ANSI(CP949) 포맷을 기대하기 때문에 발생하는 문제입니다. 메모장으로 열어서 "다른 이름으로 저장"을 반복하는 노가다는 그만! 윈도우에 기본으로 깔린 PowerShell(파워쉘) 명령어로 1초 만에 해결하는 방법을 공유합니다.

🚀 1초 해결 명령어

윈도우 검색창에서 PowerShell을 실행하고 아래 명령어를 입력하기만 하면 됩니다.

Get-Content -Path '원본파일.csv' -Encoding UTF8 | Set-Content -Path '변환파일.csv' -Encoding Default

🧐 명령어 상세 분석 (한 줄씩 뜯어보기)

이 한 줄의 코드가 어떻게 작동하는지 원리를 알면 응용하기도 쉽습니다. 파이프라인(|)을 기준으로 앞부분은 '읽기', 뒷부분은 '쓰기'를 담당합니다.

1. 파일 읽기: Get-Content

Get-Content -Path '원본파일.csv' -Encoding UTF8
  • Get-Content: 파일의 내용을 텍스트로 읽어들이는 명령어입니다 (리눅스의 cat과 유사).
  • -Path: 읽어올 원본 파일의 경로를 지정합니다. (예: 원본파일.csv)
  • -Encoding UTF8: (중요) 파워쉘에게 "이 파일은 UTF-8로 작성되었으니, 깨트리지 말고 제대로 읽어와!"라고 알려주는 옵션입니다. 이 옵션이 없으면 파워쉘이 제멋대로 해석하여 읽는 순간부터 글자가 깨질 수 있습니다.

2. 연결 통로: | (파이프라인)

  • |: 앞의 명령어(Get-Content)가 처리한 결과물(데이터)을 그대로 뒤의 명령어(Set-Content)에게 넘겨줍니다. 공장의 컨베이어 벨트라고 생각하면 이해하기 쉽습니다.

3. 파일 쓰기: Set-Content

Set-Content -Path '변환파일.csv' -Encoding Default
  • Set-Content: 데이터를 파일에 쓰는(저장하는) 명령어입니다.
  • -Path: 저장할 새로운 파일의 이름과 경로입니다. (예: 변환파일.csv)
  • -Encoding Default: (핵심) 여기서 Default는 윈도우 시스템의 기본 인코딩 설정을 의미합니다. 한글 윈도우를 사용 중이라면 ANSI (CP949/EUC-KR) 포맷으로 자동 저장됩니다. 덕분에 엑셀에서 열어도 한글이 완벽하게 보입니다.

💡 꿀팁: 왜 이 방법이 좋을까?

  1. 설치가 필요 없음: 별도의 변환 프로그램이나 에디터를 설치할 필요 없이 윈도우 기본 기능만 사용합니다.
  2. 자동화 가능: 파일이 수십 개라면 파일명 부분만 *.csv로 바꾸거나 반복문을 사용하여 폴더 전체를 한방에 변환할 수 있습니다.
  3. 정확성: 텍스트 에디터에서 인코딩을 잘못 선택해 파일이 망가지는 실수를 방지합니다.

이제 CSV 파일 한글 깨짐 문제, 당황하지 말고 파워쉘 한 줄로 스마트하게 해결하세요! 👋

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함