안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.
최근 제무재표를 가져오는 아래의 코드를 다른 컴퓨터에서 실행하려다가 알 수 없는 에러가 출력되어 애를 먹었습니다. 오늘은 이 에러를 해결한 방법에 대해서 공유해보려합니다.
# CASE 1
# DART 에 공시된 회사 리스트 불러오기
corp_list = dart.get_corp_list()
# 삼성전자 검색
samsung = corp_list.find_by_corp_name('삼성전자', exactly=True)[0]
# 2012년부터 연간 연결재무제표 불러오기
fs1 = samsung.extract_fs(bgn_de='20210101')
# CASE 2
fs2 = dart.fs.extract(corp_code='00126380', bgn_de='20210101')
출력된 에러
AttributeError: ("type object 'object' has no attribute 'dtype'", "An error occurred while fetching or analyzing"...
에러 원인
구글링을 통해 알아낸 원인은 Pandas와 Numpy 패키지의 버전이 구버전이기 때문이었습니다. (관련 자료는 글 마지막에 첨부해놓음)
에러는 두 패키지를 업그레이드 함으로써 해결되었습니다.
에러 해결 방법
터미널 창에서 아래와 같이 pip 명령어를 이용해 pandas와 numpy 패키지를 삭제 및 재설치 하면 됩니다.
1. pandas 버전 업그레이드
* (수정) 아래의 코드 한줄만 넣으면 됨
pip install pandas --upgrade
1) pandas 설치 삭제(pip uninstall pandas)
2) pandas 설치 (pip install pandas)
2. numpy 버전 업그레이드
* (수정) 아래의 코드 한줄만 넣으면 됨
pip install numpy --upgrade
1) numpy 설치 삭제(pip uninstall numpy)
2) numpy 설치 (pip install numpy)
(주의) Pandas와 Numpy를 모두 업그레이드 했다면, 쥬피터 노트북을 완전히 종료했다가 켜주셔야지 정상 작동합니다!
<참고자료>
https://github.com/pandas-dev/pandas/issues/39520