스파르타코딩클럽 파이썬 금융데이터 3주차

NameError·2022년 9월 11일
0

우리나라 상장사 정보 API를 활용하는 과정이다

!pip install dart-fss
import dart_fss as dart_fss
import pandas as pd

api_key = # 여기에는 각자 당국 홈페이지에 회원가입하고 받은 API 코드를 
dart_fss.set_api_key(api_key=api_key)

corp_list = dart_fss.get_corp_list()

corp_list.corps
all = dart_fss.api.filings.get_corp_code()
df = pd.DataFrame(all)
df_listed = df[df['stock_code'].notnull()]

은근히 DataFrame과 다른 list가 헷갈리는 점이 많아서 여기에서 추석연휴 내내 꽤 헤맸는데 ㅋㅋㅋ

이것은 상장사의 매우 고소득자 5명을 관련법에 따라 공개하는 API로 각각 가장 많이 받는 사람을 호출하는 과정인데 시키는 대로 했더니 자꾸 어딘가에 오타가 있는지 에러가 나서 마음대로 너덜너덜하게 했다

corps = names = ['삼성전자','LG에너지솔루션','SK하이닉스','NAVER','삼성바이오로직스','삼성전자우','카카오','삼성SDI','현대차','LG화학','기아','POSCO홀딩스','KB금융','카카오뱅크','셀트리온','신한지주','삼성물산','현대모비스','SK이노베이션','LG전자','카카오페이','SK','한국전력','크래프톤','하나금융지주','LG생활건강','HMM','삼성생명','하이브','두산중공업','SK텔레콤','삼성전기','SK바이오사이언스','LG','S-Oil','고려아연','KT&G','우리금융지주','대한항공','삼성에스디에스','현대중공업','엔씨소프트','삼성화재','아모레퍼시픽','KT','포스코케미칼','넷마블','SK아이이테크놀로지','LG이노텍','기업은행']
df = []
for corp_name in corps:
  corp_info = df_listed[df_listed['corp_name']==corp_name]
  if len(corp_info)>0:
    corp_code = corp_info.iloc[0,0]
    try:
      paylist0 = dart_fss.api.info.indvdl_by_pay(corp_code,'2021','11011')
      if len(paylist0)>0:
        paylist = pd.DataFrame(paylist0['list'])
        if len(paylist)>0:
          #paylist['mendng_totamt'] =  pd.to_numeric(paylist['mendng_totamt'].str.replace(',',''))
          #print(paylist['mendng_totamt'])
          name = paylist.iloc[0,4]
          amount = int(''.join(map(str,paylist.iloc[0,6].split(",")))) 
          com = {"Corp":corp_name, "name": name, "amount": amount}
          df.append(com)
    except:
      print(corp_name + ' ☆ 빠밤! 공개된 연봉왕이 없습니다 ☆')
pd.DataFrame(df).sort_values('amount',ascending=False)

그랬더니 이렇게 나왔다
하이브 분 참 많이 받으시나보다 역시 BTS ㅋㅋㅋ

흑흑 일요일 끝나기 전에 끝내고 싶었는데 ㅠㅠ

profile
매일 공부하며 살고 있구나

0개의 댓글