josw123 / dart-fss

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

중앙에너비스 extract_fs 오류 #68

Closed woo1 closed 3 years ago

woo1 commented 3 years ago

안녕하세요. 코드 공유 감사드립니다. 오류가 발생하여 문의드립니다. 해결 방법 알려주시면 감사하겠습니다.

Traceback (most recent call last): File "C:\Users\aa\dart\update_dart.py", line 56, in fs = corp.extract_fs(bgn_de='20120101', end_de='20160501', report_tp='quarter', separate=True) File "C:\Users\aa\anaconda3\envs\dart\lib\site-packages\dart_fss\corp\corp.py", line 233, in extract_fs return extract(self.corp_code, bgn_de, end_de, fs_tp, separate, report_tp, lang, separator, dataset) File "C:\Users\aa\anaconda3\envs\dart\lib\site-packages\dart_fss\fs\extract.py", line 1313, in extract raise e File "C:\Users\aa\anaconda3\envs\dart\lib\site-packages\dart_fss\fs\extract.py", line 1274, in extract nstatements = analyze_report(report=report, File "C:\Users\aa\anaconda3\envs\dart\lib\site-packages\dart_fss\fs\extract.py", line 1144, in analyze_report fs_df = analyze_xbrl(report, fs_tp=fs_tp, separate=separate, lang=lang, File "C:\Users\aa\anaconda3\envs\dart\lib\site-packages\dart_fss\fs\extract.py", line 1039, in analyze_xbrl statements[tp] = statements[tp].to_DataFrame(**option) File "C:\Users\aa\anaconda3\envs\dart\lib\site-packages\dart_fss\xbrl\table.py", line 195, in to_DataFrame cls = cls_merge_type(cls) File "C:\Users\aa\anaconda3\envs\dart\lib\site-packages\dart_fss\xbrl\helper.py", line 372, in cls_merge_type cls['start_datetime'] = cls_datetime[instant_datetime] KeyError: (datetime.datetime(2011, 9, 30, 0, 0), "An error occurred while fetching or analyzing {'rcp_no': '20120214000093', 'corp_code': '00149770', 'corp_name': '중앙에너비스', 'st ock_code': '000440', 'corp_cls': 'K', 'report_nm': '분기보고서 (2011.12)', 'flr_nm': '중앙에너비스', 'rcept_dt': '20120214', 'rm': ''}.")

josw123 commented 3 years ago

안녕하세요.

기업에서 작성한 XBRL 파일 내부에 일부 문제가 있는 것으로 생각됩니다. 자세한 사항은 DART에 업로드되어있는 XBRL 파일을 확인해 봐야 될 것 같습니다. 확인후 추가 답변 드리겠습니다

josw123 commented 3 years ago

확인해본 결과, XBRL 파일 내부에 회계기간에 대한 정보가 일부 누락되어 있습니다.

일반적으로 각각의 분기의 회계기간뿐만 아니라 회계기수의 기간정보가 들어가 있으나 중앙에너비스의 경우 이러한 데이터가 누락되어 생기는 문제로 생각됩니다.

예를 들어 삼성전자의 경우 아래와 같이 각각의 분기 뿐만 아니라 회계기수에 대한 정보가 들어가 있습니다.

제 44 기 1분기 2012.01.01 부터 2012.03.31 까지 제 43 기 1분기 2011.01.01 부터 2011.03.31 까지 제 43 기          2011.01.01 부터 2011.12.31 까지 제 42 기          2010.01.01 부터 2010.12.31 까지

그러나 중앙에너비스 2012년 2월 14일 분기보고서에는 이러한 내용이 없으므로 데이터 추출시 일부 문제가 생기는 것으로 생각됩니다.

제 76 기 1분기 2011.10.01 부터 2011.12.31 까지 제 75 기 1분기 2010.10.01 부터 2010.12.31 까지  

이 문제는 오류를 발생시키기 보다 warning을 통해 경고하는 형태로 다음 버전에 변경될 예정입니다.

woo1 commented 3 years ago

답변 감사드립니다.