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
'코딩 > python' 카테고리의 다른 글
[python] 얕은 복사와 깊은 복사, 이거 모르면 큰일남 (0) | 2023.03.18 |
---|---|
[sqlalchemy] from sqlalchemy import nullslast 에러 해결법 (0) | 2023.03.06 |
[python] 클래스 속성과 클래스 메서드 (0) | 2023.01.28 |
[python] 정적 메서드(static method)는 주로 어떤 경우에 사용되는가 (0) | 2023.01.27 |
[python] 비공개 속성, 게터, 세터, @property (0) | 2023.01.26 |
[python] 약수 구하는 알고리즘 (0) | 2023.01.26 |
[python] 클래스 안에 __로 시작하고 __로 끝나는 메소드들, 매직 메소드(magic method) (0) | 2023.01.25 |
[python] 제너레이터의 필요성(메모리 효율성) (0) | 2023.01.16 |