-
파이썬에서 MS-SQL 한글 데이터 검색, 출력 시 깨짐 ..파이썬 코드 2022. 8. 25. 15:23
며칠전 업무 자동화에 파이썬을 써볼까 해서 MS-SQL 의 데이터를 검색해서 가져왔는데 출력값이 깨져보인다는 ㅠㅠ
관련 글을 검색해보다가 해결되어서 이곳에 남겨놉니다.
import os import openpyxl import pymssql # 엑셀파일 위치 지정 filename = os.path.join(os.getcwd(), 'pythonProject', 'address.xlsx') print(filename, "파일 작업을 시작합니다.") db_host = "DB서버" db_user = "계정ID" db_password = "계정비번" db_name = "DB명" db_charset = "utf8" conn = pymssql.connect(server=db_host, user=db_user, password=db_password, database=db_name, charset=db_charset, as_dict=True) cursor = conn.cursor() # 엑셀파일 읽어오기 wb = openpyxl.load_workbook(filename) ws = wb.active mr = ws.max_row for i in range(3, mr+1): user_name = ws.cell(i, 5).value.split(" ")[0] # 특정 셀에서 읽어온 값을 공백으로 구분 # print(user_name) sql = "SELECT ZIP_CODE, HOME_ADDR FROM INSA_USER WHERE EMP_STATUS = 'W' " sql += "AND EMP_NAME = '" + user_name + "'" cursor.execute(sql) # 엑셀에 쓰기 for row in cursor: ws.cell(i, 6).value = row['ZIP_CODE'] ws.cell(i, 7).value = row['HOME_ADDR'].encode('ISO-8859-1').decode('cp949') # uff-8인 한글을 ISO-8859-1로 인코딩 후 cp949로 디코딩 conn.close() wb.save(filename) print(filename, "파일 작업이 완료되었습니다.")
'파이썬 코드' 카테고리의 다른 글
웹사이트 크롤링 시 https 사이트에서 뜨는 보안경고 피해가기 (0) 2022.08.25 파이썬 공부를 시작하며... (0) 2022.07.29