본문 바로가기

프로그래밍 언어/Python3

Python) CSV 파일 한글 깨짐 현상 해결

csv 파일을 dbeaver로 임포트해서 테이블로 사용하려고 하니까 한글이 깨지는 문제가 발생했다. 

이를 해결하기 위해 csv 파일을 sublime (텍스트 편집기 아무거나) 를 이용해서 UTF-8 encoding으로 저장한 후 다시 변환하면 된다는데 나는 그게 안되더라 

 

그래서 그냥 한글이 깨지지 않은 상태의 xlsx 파일을 엑셀로 열어서 sublime에 그냥 복붙했다. 

그랬더니 엑셀 포맷이 공백으로 유지됐다. 

 

공백을 , 으로 바꿔서 csv 파일로 변환하기 위해 공백으로 포맷이 유지된 파일을 파이썬으로 읽고 공백을 ,으로 replace해서 저장 후 UTF-8로 저장했다. 

자잘한 실수는 수작업으로 수정했지만 어쨌거나 csv 파일 한글 꺠짐없이 불러오는 거 성공 !!

 

아래는 공백을 ,으로 바꿔서 저장하려고 급하게 짠 파이썬 코드

f=open("/Users/seungyunkim/Desktop/encodingTest.csv", "r")
fw=open("/Users/seungyunkim/Desktop/newTplInput.txt", "w")
while True:
    line = f.readline()
    if not line: break
    removeMultipleBlank = ' '.join(line.split())
    print(removeMultipleBlank)
    replaceBlankToComma = removeMultipleBlank.replace(" ", ",")
    print(replaceBlankToComma)
    fw.write(replaceBlankToComma)
    fw.write('\n')

f.close()
fw.close()