728x90
반응형
반응형
CSV 파일에서 한글이 깨지는 이유는 주로 인코딩(encoding) 문제 때문입니다. 따라서 파일을 저장할 때 인코딩을 적절히 설정하면 한글이 깨지는 문제를 해결할 수 있습니다.
utf-8-sig 인코딩 사용하기
utf-8 인코딩을 사용하면 한글이 정상적으로 표시되지만, 일부 프로그램(특히 엑셀)에서 읽을 때 한글이 깨질 수 있습니다. 이를 방지하려면 utf-8-sig를 사용하세요.
✅ CSV 파일 쓰기 (utf-8-sig) :
import csv
data = [
["이름", "나이", "직업"],
["김철수", 25, "개발자"],
["이영희", 30, "디자이너"]
]
with open('output.csv', mode='w', encoding='utf-8-sig', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
print("CSV 파일이 utf-8-sig로 저장되었습니다.")
🎯 실행 결과 :
pandas에서 utf-8-sig 인코딩 사용하기
✅ pandas에서 CSV 파일 쓰기 (utf-8-sig) :
import pandas as pd
df = pd.DataFrame([
["김철수", 25, "개발자"],
["이영희", 30, "디자이너"],
["박용수", 35, "인사총무"]
], columns=["이름", "나이", "직업"])
df.to_csv('output.csv', index=False, encoding='utf-8-sig')
print("CSV 파일이 utf-8-sig로 저장되었습니다.")
🎯 실행 결과 :
728x90
cp949 또는 euc-kr 인코딩 사용하기
Windows의 메모장이나 엑셀에서 CSV를 열었을 때 한글이 깨진다면, cp949(또는 euc-kr) 인코딩을 사용하면 해결됩니다.
✅ CSV 파일 쓰기 (cp949) :
import csv
data = [
["이름", "나이", "직업"],
["김철수", 25, "개발자"],
["이영희", 30, "디자이너"]
]
with open('output.csv', mode='w', encoding='cp949', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
cp949와 euc-kr은 Windows에서 잘 동작하지만, Mac/Linux 환경에서는 깨질 가능성이 있음.
728x90
반응형
'프로그래밍 > [Python] 파이썬' 카테고리의 다른 글
[Python] 파이썬 주피터 노트북 라이브러리 설치 및 제거하는 명령어 (73) | 2025.03.02 |
---|---|
[Python] 파이썬 with문 사용법 핵심 요약 정리 (192) | 2025.01.21 |
[python] 파이썬 아스키코드(ASCII) 변환 함수 (42) | 2025.01.09 |
[Python] 파이썬 날짜, 시간 더하기 빼기 (80) | 2025.01.08 |
[Python] 파이썬 날짜/시간 포맷팅 다루기 (strftime, strptime) (61) | 2025.01.08 |