josw123 / dart-fss

한국 금융감독원에서 운영하는 다트(Dart) 시스템 크롤링을 위한 라이브러리
https://github.com/josw123/dart-fss
MIT License
319 stars 111 forks source link

dart_fss-0.4.0 오류 #165

Closed tejung2 closed 4 months ago

tejung2 commented 4 months ago

안녕하세요! 이전 오류가 해결되지 않아 문의드립니다.

현재 사용 환경은 아래와 같습니다.

dart_fss-0.4.0 Anaconda3 최신버전

호출코드는 아래와 같습니다. import dart_fss as dart

별도재무제표 추출.(현대엔지니어링 제외)

report_tp : annual(사업보고서), quarter(분기)

separate : True(별도), False(연결)

api_key = 'API키'

dart.set_api_key(api_key=api_key)

corp_list = dart.get_corp_list()

con = corp_list.find_by_corp_name('현대건설', exactly=True)

corp_name은 회사명만 입력.

corp = con[0]

corp_code = corp.corp_code

fs_tp : 'bs' = 재무상태표, 'is' = 손익계산서, 'cis' = 포괄손익계산서, 'cf' = 현금흐름표, 'notes' = 주석(잠정으로, 실제 XBRL 주석 도입이후 확인 필요.)

fs = dart.fs.extract(corp_code, bgn_de='20220101', fs_tp=('bs', 'is', 'cis', 'cf'), separate=True, report_tp='quarter', lang='ko', separator=True, dataset='xbrl', cumulative=False, progressbar=True, skip_error=True, last_report_only=True)

재무제표 검색 결과를 엑셀파일로 저장 ( 기본저장위치 : 실행폴더/fsdata)

fs.save()

오류로 출력되는 내용은 다음과 같습니다. Traceback (most recent call last): File "C:\Users\20200319\Anaconda3\lib\site-packages\dart_fss\fs\extract.py", line 1433, in extract statements = analyze_report(report=report, File "C:\Users\20200319\Anaconda3\lib\site-packages\dart_fss\fs\extract.py", line 1277, in analyze_report fs_df = analyze_xbrl(report, fs_tp=fs_tp, separate=separate, lang=lang, File "C:\Users\20200319\Anaconda3\lib\site-packages\dart_fss\fs\extract.py", line 1146, in analyze_xbrl statements[tp] = statements[tp].to_DataFrame(option) TypeError: to_DataFrame() got an unexpected keyword argument 'ignore_subclass' Traceback (most recent call last): File "C:\Users\20200319\Anaconda3\lib\site-packages\dart_fss\fs\extract.py", line 1433, in extract statements = analyze_report(report=report, File "C:\Users\20200319\Anaconda3\lib\site-packages\dart_fss\fs\extract.py", line 1277, in analyze_report fs_df = analyze_xbrl(report, fs_tp=fs_tp, separate=separate, lang=lang, File "C:\Users\20200319\Anaconda3\lib\site-packages\dart_fss\fs\extract.py", line 1146, in analyze_xbrl statements[tp] = statements[tp].to_DataFrame(option) TypeError: to_DataFrame() got an unexpected keyword argument 'ignore_subclass' Traceback (most recent call last): File "C:\Users\20200319\Anaconda3\lib\site-packages\dart_fss\fs\extract.py", line 1433, in extract statements = analyze_report(report=report, File "C:\Users\20200319\Anaconda3\lib\site-packages\dart_fss\fs\extract.py", line 1277, in analyze_report fs_df = analyze_xbrl(report, fs_tp=fs_tp, separate=separate, lang=lang, File "C:\Users\20200319\Anaconda3\lib\site-packages\dart_fss\fs\extract.py", line 1146, in analyze_xbrl statements[tp] = statements[tp].to_DataFrame(**option) TypeError: to_DataFrame() got an unexpected keyword argument 'ignore_subclass'

dart_fss 버전이 낮아서 출력이 안되는 것인지요??? 24년 3월 4일까지는 정상적으로 작동했었습니다!

josw123 commented 4 months ago

안녕하세요.

제출하신 로그를 검토해 보니, dart-fss v0.4.0의 to_DataFrame 함수에서 지원하지 않는 'ignore_subclass' 옵션이 사용되어 오류가 발생한 것으로 확인됩니다.

올려주신 코드를 살펴보면 해당 옵션을 사용할 이유가 없어 보이기 때문에, 이러한 오류는 발생하지 않아야 합니다. 하지만, dart-fss 라이브러리의 버전에서 문제가 발생하고 있으므로, 서로 다른 버전의 dart-fss가 설치되면서 발생한 오류로 추정됩니다.

아래와 같이 dart-fss를 제거한 후 최신 버전으로 재설치하시면 되겠습니다.

> pip uninstall dart-fss
> pip install dart-fss -U

또는, 다음과 같이 v0.4.0을 강제로 재설치 하시면 되겠습니다.

> pip uninstall dart-fss
> pip install dart-fss==0.4.0 --force