TypeError: an integer is required (got type str) 해결 - datetime replace 오류

이유진·2022년 8월 1일
0

회사 코드중에서 입력받은 엑셀을 db와 비교하여, 올바른 정보(혹은 비교 성공된 데이터)의 데이터를 업데이트 시켜주는 코드가 있다.

입력받은 엑셀데이터의 형식에 대한 모든 분기처리가 완벽하게 되어 있지 않아,
CS 문의로 인해, 해당 부분을 내가 입사 하기 이전에 작성했던 팀원의 part를 현재는, 내가 담당하고 있다.

어제는 CS 문의는 아니였으나, 관련 오류가 발생하여 또 한번의 수정을 진행하게 되었다.


저번에 datetime 타입으로 전달받은 데이터 처리가 되어 있지 않아, 추가로 분기 처리를 진행 후, 테스트까지 완료한 결과 그당시에는 잘 되었다...

근데, 이번에는 또 다른 문제가 생긴 것이다..

TypeError: an integer is required (got type str)

바로, 위와 같은 에러이다...

검색해본결과, 대부분 encoding = 'utf-8'을 추천하였지만,
회사 코드 중에서는 open(encoding = 'utf-8')을 적용 할 수 없어,
재검색을 시작하다가 발견한 자료가 이 overflow이다.

datetime.datetime type을 바로 replace를 이용하는 것이 아닌,
str type으로 반환한 후, replace를 사용하라는 해결책이였다.

덕분에,
나는 해결할 수 있게 되어 벨로그에 작성한다.

참고 overflow

profile
차근차근 배워나가는 주니어 개발자

0개의 댓글