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
'Dev > python' 카테고리의 다른 글
[python] json 모듈의 dumps(), loads() 차이 (0) | 2023.05.13 |
---|---|
[python] 사설 저장소(nexus) 통해 pip install 하는 방법 (0) | 2023.04.27 |
[python] 얕은 복사와 깊은 복사, 이거 모르면 큰일남 (0) | 2023.03.18 |
[pandas] dataframe 특정 컬럼 값에 일괄적으로 함수 적용, apply 메소드 (0) | 2023.03.17 |
[sqlalchemy] from sqlalchemy import nullslast 에러 해결법 (0) | 2023.03.06 |
PyQt6와 PySide6의 라이선스 차이 (0) | 2023.02.20 |
[Flask] Flask API 서버에 인증 기능 넣기 (0) | 2023.02.19 |
[flask] ModuleNotFoundError: No module named 'wtforms.fields.html5' 에러 해결 방법 (2) | 2023.01.31 |