josw123 / dart-fss

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

[[[[[[항상 감사합니다!]]]]]] extract_fs 함수 에러 공유 (삼성전자 2001년05월15일 에 접수된 분기보고서 추출 안됨) #112

Closed maker77 closed 2 years ago

maker77 commented 2 years ago

안녕하세요 멋진 라이브러리를 만들어주셔서 정말 너무너무 감사합니다 !!

import dart_fss as dart
corp_list = dart.get_corp_list()
stock_code = "005930" #삼성전자
samsung = corp_list.find_by_stock_code(stock_code=stock_code, include_delisting=True)
fs = samsung.extract_fs(bgn_de='20010515', end_de='20010515', report_tp=['quarter'], separator=False, separate=True, cumulative=False)

라는 간단한 코드를 실행하는데

다음과 같은 에러가 뜹니다 image


TypeError Traceback (most recent call last)

C:\Users\MINHOK~1\AppData\Local\Temp/ipykernel_10992/92465102.py in 7 stock_code = "005930" #삼성전자 8 samsung = corp_list.find_by_stock_code(stock_code=stock_code, include_delisting=True) ----> 9 fs = samsung.extract_fs(bgn_de='20010515', end_de='20010515', report_tp=['quarter'], separator=False, separate=True, cumulative=False) 10 11

C:\ProgramData\Anaconda3\envs\auto_trading_v1_env\lib\site-packages\dart_fss\corp\corp.py in extract_fs(self, bgn_de, end_de, fs_tp, separate, report_tp, lang, separator, dataset, cumulative, progressbar, skip_error) 249 250 """ --> 251 return extract(self.corp_code, bgn_de, end_de, fs_tp, separate, report_tp, lang, 252 separator, dataset, cumulative, progressbar, skip_error)

C:\ProgramData\Anaconda3\envs\auto_trading_v1_env\lib\site-packages\dart_fss\fs\extract.py in extract(corp_code, bgn_de, end_de, fs_tp, separate, report_tp, lang, separator, dataset, cumulative, progressbar, skip_error) 1452 msg = 'Unexpected Error' 1453 e.args = (*e.args, msg, ) -> 1454 raise e 1455 finally: 1456 dart.utils.spinner.spinner_enable = True

C:\ProgramData\Anaconda3\envs\auto_trading_v1_env\lib\site-packages\dart_fss\fs\extract.py in extract(corp_code, bgn_de, end_de, fs_tp, separate, report_tp, lang, separator, dataset, cumulative, progressbar, skip_error) 1426 raise NotFoundConsolidated('Could not find consolidated financial statements') 1427 -> 1428 statements = drop_empty_columns(statements) 1429 label_df = drop_empty_columns(label_df) 1430

C:\ProgramData\Anaconda3\envs\auto_trading_v1_env\lib\site-packages\dart_fss\fs\extract.py in drop_empty_columns(df, label_df) 1205 def drop_empty_columns(df: Dict[str, DataFrame], label_df: bool = False) -> Dict[str, DataFrame]: 1206 -> 1207 for tp in df: 1208 df_tp = df[tp] 1209 if df_tp is None:

TypeError: ("'NoneType' object is not iterable", "An error occurred while fetching or analyzing {'rcp_no': '20010515000548', 'corp_code': '00126380', 'corp_name': '삼성전자', 'stock_code': '005930', 'corp_cls': 'Y', 'report_nm': '분기보고서 (2001.03)', 'flr_nm': '삼성전자', 'rcept_dt': '20010515', 'rm': ''}.")

혹시 어떻게 해결할 수 있을지 알 수 있을까요?

josw123 commented 2 years ago

안녕하세요,

재무제표 추출시 너무 오래된 양식이라 데이터를 찾지 못해서 발생하는 문제입니다. 나중에 확인해보도록 하겠습니다.

maker77 commented 2 years ago

너무너무 감사합니다!

josw123 commented 2 years ago

안녕하세요.

2001년 05월 15일에 업로드된 삼성전자의 공시리포트를 확인해보니 HTML이 잘못 작성되어 있습니다.

아래와 같이 보기에는 정상적인 HTML table로 보입니다. image

그러나 실제로 HTML을 확인해보면 각각의 열이 br tag로 구분되어 있는 것을 확인할 수 있습니다. 일반적인 Table은 tr tag로 구분되는게 정상입니다. 즉, 2001년 05월 15일에 공시된 정보의 경우 HTML table이 비정상적으로 작성되어 있으므로 데이터를 추출하지 못하는 문제가 발생하게 됩니다.

그러므로 본 문제는 dart-fss 라이브러리에서 처리하기 힘든 문제이며 수기로 따로 처리하셔야 될 것 같습니다.

<td height="2504" valign="TOP" width="187">     자             산 <br/><br/>Ⅰ. 유  동  자  산<br/>  (1) 당  좌  자  산<br/>  1. 현금및현금등가물<br/>  2. 단기금융상품 <br/>  3. 유  가  증  권<br/>  4. 매  출  채  권<br/>     대 손 충 당 금<br/>  5. 단 기 대 여 금<br/>     대 손 충 당 금   <br/>  6. 미    수    금<br/>     대 손 충 당 금   <br/>  7. 미  수  수  익   <br/>  8. 선    급    금<br/>     대 손 충 당 금   <br/>  9. 선  급  비  용  <br/> 10. 예 치 보 증 금  <br/> 11. 전    도    금  <br/> 12. 통  화  선  도<br/> 13. 이자율스왑<br/>      <br/>(2) 재  고  자  산 <br/> 1. 상        품  <br/> 2. 제        품  <br/> 3. 반   제   품  <br/> 4. 재   공   품  <br/> 5. 원   재   료  <br/> 6. 저   장   품  <br/> 7. 미   착   품<br/><br/>Ⅱ. 고  정  자  산  <br/>(1) 투  자  자  산 <br/> 1. 장기금융상품 <br/> 2. 투자유가증권 <br/> 3. 장기성매출채권 <br/>     대손충당금<br/>     현재가치할인차금<br/> 4. 장기대여금 <br/>     대손충당금   <br/>     현재가치할인차금<br/> 5. 보   증   금  <br/> 6. 장기선급비용  <br/> 7. 이연법인세차 <br/><br/>(2) 유  형  자  산 <br/> 1. 토          지  <br/> 2. 건          물<br/>    감가상각누계액   <br/> 3. 구    축    물<br/>    감가상각누계액   <br/> 4. 기  계  장  치<br/>    감가상각누계액   <br/> 5. 공구기구비품<br/>    감가상각누계액   <br/> 6. 차 량 운 반 구<br/>    감가상각누계액   <br/> 7. 건설중인 자산  <br/> 8. 미  착  기  계<br/>  <br/>(3) 무  형  자  산  <br/> 1. 영    업    권  <br/> 2. 산 업 재 산 권  <br/> 3. 기타의 무형자산<br/><br/>   자    산    총    계   <br/><br/>      부            채<br/>Ⅰ. 유  동  부  채      <br/> 1. 매  입  채  무 <br/> 2. 단 기 차 입 금 <br/> 3. 미  지  급  금   <br/> 4. 선    수    금 <br/> 5. 예    수    금 <br/> 6. 미 지 급 비 용 <br/> 7. 미지급법인세 <br/> 8. 미지급배당금 <br/> 9. 유동성장기부채 <br/>    사채할인발행차금<br/>    사채할증발행차금<br/>10. 선  수  수  익<br/>11. 통  화  선  도 <br/>12. 통  화  스  왑 <br/>13. 이 자 율 스 왑 <br/><br/>Ⅱ. 고  정  부  채      <br/> 1. 사            채 <br/>    사채할인발행차금<br/>    사채할증발행차금 <br/>    장기미지급이자 <br/>    전 환 권 조 정 <br/> 2. 장 기 차 입 금 <br/> 3. 장기미지급금 <br/>    현재가치할인차금 <br/> 4. 퇴직급여충당금 <br/>    국민연금전환금 <br/>    퇴직보험예치금<br/> <br/>   부    채    총    계<br/><br/>      자            본  <br/>Ⅰ. 자   본   금 <br/> 1. 보통주자본금<br/> 2. 우선주자본금<br/><br/> II. 자 본 잉 여 금     <br/> 1. 주식발행초과금 <br/> 2. 기타자본잉여금<br/><br/>Ⅲ. 이 익 잉 여 금 <br/> 1. 이익준비금 <br/> 2. 기업합리화적립금 <br/> 3. 재무구조개선적립금 <br/> 4. 해외시장개척준비금<br/> 5. 해외투자손실준비금<br/> 6. 기술개발준비금<br/> 7. 수출손실준비금<br/> 8. 자사주처분손실준비금<br/> 9. 시설적립금<br/>10. 차기이월이익잉여금<br/>                              <br/> Ⅳ. 자  본  조  정  <br/> 1. 자  기  주  식 <br/> 2. 전 환 권 대 가 <br/> 3. 투자주식평가이익 <br/> 4. 주식매수선택권<br/> 5. 파생상품평가손실<br/><br/>       자  본  총  계     <br/><br/>     부채와  자본  총계</td>
<td align="RIGHT" height="2504" valign="TOP" width="126"><br/><br/>(7,260,042,828)<br/>(4,683,356,408)<br/>925,589,165 <br/>659,654,030 <br/>826,195,274 <br/>1,343,607,453 <br/>136,785,062 <br/>1,965,920 <br/>19,659 <br/>513,097,558 <br/>18,637,108 <br/>68,113,092 <br/>71,626,264 <br/>19,884,297 <br/>279,327,152 <br/>155,686,551 <br/>9,125,275 <br/>4,694,800 <br/>-<br/><br/>(2,576,686,420)<br/>278,936,535 <br/>368,325,304 <br/>13,788,782 <br/>914,952,510 <br/>805,045,990 <br/>105,667,145 <br/>89,970,154 <br/><br/>(20,577,738,245)<br/>6,720,058,489 <br/>71,500 <br/>5,683,104,992 <br/>5,618,165 <br/>3,160,133 <br/>1,218,323 <br/>62,319,874 <br/>6,816,673 <br/>34,102 <br/>399,382,275 <br/>467,927,948 <br/>112,862,966 <br/><br/>(13,601,653,564)<br/>1,779,858,501 <br/>2,466,822,905 <br/>319,831,046 <br/>149,984,025 <br/>42,112,914 <br/>13,160,423,801 <br/>6,338,552,111 <br/>1,055,240,164 <br/>698,356,167 <br/>75,160,330 <br/>24,576,402 <br/>2,188,707,656 <br/>148,884,822 <br/><br/>(256,026,192)<br/>5,738,750 <br/>247,529,228 <br/>2,758,214 <br/><br/>27,837,781,073 <br/><br/><br/>(8,129,205,514)<br/>1,349,197,905 <br/>399,280,415 <br/>1,491,695,744 <br/>280,956,804 <br/>363,456,997 <br/>727,248,740 <br/>726,863,273 <br/>422,738,095 <br/>2,351,488,714 <br/>11,441,099 <br/>373,110 <br/>2,025,862 <br/>19,018,230 <br/>          - <br/>6,302,724 <br/><br/>(2,024,940,625)<br/>1,265,024,618 <br/>6,332,913 <br/>  - <br/>16,901,395 <br/>20,545,398 <br/>355,053,617 <br/>291,753,051 <br/>54,893,876 <br/>387,959,202 <br/>26,312,776 <br/>183,666,295 <br/><br/>10,154,146,139 <br/><br/><br/>(881,675,130)<br/>762,207,995 <br/>119,467,135 <br/> <br/>(5,686,653,290)<br/>3,843,442,538 <br/>1,843,210,752 <br/><br/>(11,998,052,158)<br/>440,789,000 <br/>2,512,100,829 <br/>204,815,000 <br/>510,750,423 <br/>164,982,454 <br/>3,838,397,908 <br/>167,749,074<br/>200,000,000<br/>2,714,811,000<br/>1,243,656,470<br/><br/>(△882,745,644)<br/>△962,247,859 <br/>29,434,909 <br/>△76,729,313 <br/>133,099,343 <br/>△6,302,724 <br/><br/>17,683,634,934 <br/><br/>27,837,781,073 </td>
<td align="RIGHT" height="2504" valign="TOP" width="131"><br/><br/>(6,745,763,889)<br/>(4,352,385,394)<br/>462,110,518 <br/>739,607,120 <br/>385,740,976 <br/>1,742,070,581 <br/>130,228,967 <br/>434,350 <br/>4,344 <br/>638,849,850 <br/>26,593,177 <br/>32,606,513 <br/>79,840,823 <br/>673,173 <br/>241,736,722 <br/>166,849,595 <br/>6,296,744 <br/>13,481,413 <br/>259,850<br/> <br/>(2,393,378,495)<br/>328,740,609 <br/>277,032,502 <br/>6,464,736 <br/>716,517,774 <br/>868,884,980 <br/>82,803,542 <br/>112,934,352 <br/> <br/>(18,218,593,055)<br/>7,749,645,288 <br/>271,000 <br/>5,666,401,425 <br/>38,814,515 <br/>1,990,114 <br/>1,855,784 <br/>313,511,098 <br/>1,383,065 <br/>94,153 <br/>449,018,406 <br/>435,208,437 <br/>851,743,523 <br/> <br/>(10,219,634,197)<br/>1,719,465,913 <br/>2,048,766,219 <br/>208,836,853 <br/>134,565,611 <br/>31,140,223 <br/>8,736,654,037 <br/>3,982,249,699 <br/>951,564,120 <br/>629,388,082 <br/>79,677,498 <br/>22,866,786 <br/>1,272,706,886 <br/>150,715,556 <br/> <br/>(249,313,570)<br/>1,543,750 <br/>247,486,984 <br/>282,836 <br/> <br/>24,964,356,944 <br/> <br/> <br/>(6,627,064,200)<br/>1,521,771,765 <br/>273,867,706 <br/>1,367,474,018 <br/>384,180,084 <br/>257,025,790 <br/>700,286,188 <br/>724,235,860 <br/>342,729,169 <br/>1,033,604,942 <br/>3,224,799 <br/>8,019 <br/>3,455,941 <br/>1,607,260 <br/>20,042,257 <br/>- <br/> <br/>(4,324,010,826)<br/>2,994,587,411 <br/>42,621,678 <br/>879,245 <br/>5,782,561 <br/>51,086,988 <br/>1,165,348,914 <br/>179,165,415 <br/>40,797,011 <br/>291,141,543 <br/>31,985,537 <br/>146,403,049 <br/> <br/>10,951,075,026 <br/> <br/> <br/>(877,621,090)<br/>758,153,955 <br/>119,467,135 <br/><br/>(5,602,992,142)<br/>3,764,151,752 <br/>1,838,840,390 <br/> <br/>(6,837,408,577)<br/>387,789,000 <br/>1,512,100,829 <br/>204,815,000 <br/>548,741,108 <br/>213,382,454 <br/>2,023,097,908 <br/>217,118,059 <br/>- <br/>134,615,000 <br/>1,595,749,219 <br/>  <br/>(695,260,109)<br/>427,838,371 <br/>65,425,807 <br/>1,027,260,587 <br/>30,152,236 <br/>259,850 <br/> <br/>14,013,281,918<br/> <br/>24,964,356,944</td>
<td align="RIGHT" height="2504" valign="TOP" width="133"><br/><br/>(7,756,441,262)<br/>(4,953,677,637)<br/>521,883,690 <br/>1,409,879,711 <br/>673,340,493 <br/>1,291,888,806 <br/>129,404,961 <br/>870,200 <br/>8,702 <br/>674,932,315 <br/>15,232,211 <br/>88,277,060 <br/>58,632,668 <br/>14,346,074 <br/>218,912,651 <br/>160,287,992 <br/>4,694,708 <br/>9,069,291 <br/>-<br/><br/>(2,802,763,625)<br/> 286,054,801 <br/> 451,489,525 <br/> 20,721,491 <br/> 961,869,596 <br/> 855,554,193 <br/> 96,722,465 <br/> 130,351,554 <br/><br/>(19,138,605,221)<br/>(6,548,760,322)<br/>258,000 <br/>5,409,741,103 <br/>7,686,080 <br/>3,502,222 <br/>1,366,079 <br/>66,978,463 <br/>6,853,261 <br/>49,662 <br/>411,152,293 <br/>486,509,110 <br/>178,206,497 <br/><br/>(12,324,428,649)<br/>1,778,542,402 <br/>2,420,800,450 <br/>291,407,875 <br/>147,807,401 <br/>39,306,107 <br/>12,415,301,575 <br/>5,760,161,055 <br/>1,047,094,582 <br/>686,544,032 <br/>71,676,496 <br/>22,434,742 <br/>1,160,316,481 <br/>82,743,073 <br/><br/>(265,416,250)<br/>6,265,000 <br/>256,347,261 <br/>2,803,989 <br/><br/>26,895,046,483 <br/><br/><br/>(8,608,448,502)<br/>1,492,046,020 <br/>14,217 <br/>1,697,547,216 <br/>285,396,016 <br/>281,054,836 <br/>1,162,008,323 <br/>896,957,557 <br/>422,741,482 <br/>2,372,809,681 <br/>16,138,258 <br/>502,263 <br/>1,265,665 <br/>8,971,000 <br/>- <br/>3,272,484 <br/><br/>(2,093,750,701)<br/>1,244,320,415 <br/>6,378,785 <br/>- <br/>14,018,755 <br/>21,194,843 <br/>473,102,602 <br/>303,180,821 <br/>58,034,486 <br/>363,406,250 <br/>27,769,854 <br/>190,900,174 <br/><br/>10,702,199,203 <br/><br/><br/>(881,675,130)<br/>762,207,995 <br/>119,467,135<br/> <br/>(5,686,653,290)<br/>3,843,442,538 <br/>1,843,210,752 <br/><br/>(10,754,427,097)<br/>440,789,000 <br/>2,512,100,829 <br/>204,815,000 <br/>510,750,423 <br/>164,982,454 <br/>3,838,397,908 <br/>167,749,074 <br/>200,000,000 <br/>2,714,811,000 <br/>31,409 <br/><br/>(△1,129,908,237)<br/>△962,247,859 <br/>29,434,909 <br/>△287,568,317 <br/>93,745,514 <br/>△3,272,484 <br/><br/>16,192,847,280 <br/><br/>26,895,046,483 </td>
<td align="RIGHT" height="2504" valign="TOP" width="125"><br/><br/>(6,197,231,279)<br/>(3,935,851,627)<br/>526,829,785 <br/>648,343,188 <br/>237,450,347 <br/>1,468,861,658 <br/>133,890,311 <br/>887,429 <br/>8,874 <br/>719,675,527 <br/>29,131,354 <br/>21,614,484 <br/>85,685,547 <br/>745,090 <br/>203,223,332 <br/>171,716,625 <br/>5,932,050 <br/>9,407,284 <br/>-<br/> <br/>(2,261,379,652)<br/>330,317,256 <br/>242,628,708 <br/>13,388,566 <br/>653,111,690 <br/>842,837,515 <br/>67,085,017 <br/>112,010,900 <br/> <br/>(18,512,571,603)<br/>(8,444,216,874)<br/>1,467,500 <br/>6,050,044,457 <br/>20,356,196 <br/>1,778,431 <br/>1,994,182 <br/>367,733,667 <br/>1,459,592 <br/>109,583 <br/>457,313,823 <br/>472,116,096 <br/>1,080,526,923 <br/> <br/>(9,822,251,279)<br/>1,708,831,071 <br/>2,046,105,987 <br/>186,142,893 <br/>134,137,109 <br/>28,596,676 <br/>8,332,195,367 <br/>3,542,240,421 <br/>924,901,314 <br/>603,625,629 <br/>39,302,973 <br/>20,327,849 <br/>943,651,433 <br/>74,059,493 <br/> <br/>(246,103,450)<br/>1,770,000 <br/>243,203,924 <br/>1,129,526 <br/> <br/>24,709,802,882 <br/><br/><br/>(6,780,871,440)<br/>1,405,008,718 <br/>49,511 <br/>1,613,961,632 <br/>393,048,180 <br/>265,007,326 <br/>733,624,266 <br/>606,942,742 <br/>342,729,389 <br/>1,400,536,514 <br/>4,372,666 <br/>165,824 <br/>2,917,024 <br/>1,954,477 <br/>15,504,959 <br/>3,793,544 <br/> <br/>(4,597,362,974)<br/>3,117,124,541 <br/>48,156,752 <br/>1,003,631 <br/>3,110,418 <br/>68,652,265 <br/>1,344,528,966 <br/>207,012,964 <br/>46,110,052 <br/>275,810,318 <br/>35,175,071 <br/>153,133,724 <br/><br/>11,378,234,414 <br/><br/><br/>(875,542,095)<br/>756,074,960 <br/>119,467,135 <br/> <br/>(5,554,928,277)<br/>3,719,943,012 <br/>1,834,985,265 <br/> <br/>(5,241,691,347)<br/>387,789,000 <br/>1,512,100,829 <br/>204,815,000 <br/>548,741,108 <br/>213,382,454 <br/>2,023,097,908 <br/>217,118,059 <br/>-<br/>134,615,000 <br/>31,989 <br/> <br/>(1,659,406,749)<br/>△427,838,371 <br/>85,476,294 <br/>2,005,562,370 <br/>- <br/>△3,793,544 <br/> <br/>13,331,568,468 <br/> <br/>24,709,802,882 </td>
</tr>
maker77 commented 2 years ago

너무감사합니다! 고생하셨습니다 좋은 하루 되세요!