2023-03-15 21:52:20

pandas 데이터프레임을 to_csv() 메소드로 csv 파일로 저장한 후 csv 파일을 엑셀 같은 프로그램으로 열어봤는데 한글이 깨졌다면, 저희가 보통 생각할 수 있는 해결법은 인코딩을 utf-8로 설정해주는 것입니다. 그런데, 그래도 한글 깨짐 현상이 해결되지 않는다면, 아래와 같이 utf-8-sig로 해보세요. 

 

df.to_csv('test.csv', index=False, encoding='utf-8-sig')

 

여기서 utf-8-sig는 utf-8 인코딩의 변형 중 하나입니다. 일반적인 UTF-8과 동일하게 유니코드 문자를 인코딩하지만, 파일 맨 처음에 BOM(Byte Order Mark)이라는 특별한 문자를 추가하여 해당 파일이 UTF-8로 인코딩되었다는 것을 알립니다.

 

따라서, pandas 데이터프레임을 csv 파일로 저장할 때 utf-8-sig 인코딩을 사용하면 한글을 포함한 유니코드 문자열이 깨지지 않고 정상적으로 저장됩니다. 

 

참고자료 

[1] https://stackoverflow.com/questions/57152985/what-is-the-difference-between-utf-8-and-utf-8-sig