커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
DART 에서 10개사의 남.여 평균 연봉 데이터 추출시 에러
금융인을 위한 파이썬 업무자동화 v0
3주차
북마크
김*한
댓글
2
추천
0
조회수
7
조회수
7
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


DART 재무정보에서 램덤하게 10개사에 대한 남.여 연봉 자료를 추출하는데 에러 발생



Hello Dave

error-유성기업

error-아이케이세미콘

error-엔에이치스팩25호

error-이글벳

error-에코솔루션

error-현대오토넷

error-유디피

error-YTN

error-KR모터스

error-유투바이오

Traceback (most recent call last):

 File "C:\Users\kjh29\PycharmProjects\pythonProject2\venv\SPARTA\Pycharm 3주차_과제.py", line 41, in <module>

  df_result = pd.concat(dfs)

 File "C:\Users\kjh29\PycharmProjects\pythonProject2\venv\lib\site-packages\pandas\util\_decorators.py", line 331, in wrapper

  return func(*args, **kwargs)

 File "C:\Users\kjh29\PycharmProjects\pythonProject2\venv\lib\site-packages\pandas\core\reshape\concat.py", line 368, in concat

  op = _Concatenator(

 File "C:\Users\kjh29\PycharmProjects\pythonProject2\venv\lib\site-packages\pandas\core\reshape\concat.py", line 425, in __init__

  raise ValueError("No objects to concatenate")

ValueError: No objects to concatenate


Process finished with exit code 1




작성한 코드 및 에러 메세지

print("Hello Dave")
import dart_fss as dart_fss
import pandas as pd
import pprint #세로 출력을 위한..
from pandas import Series, DataFrame

api_key = '8278d1c0e43b1a520fbdc53a0fd9d9133e838924'
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()]
df_non_listed = df[df['stock_code'].isnull()]
df_listed.to_excel('상장종목.xlsx')
df_non_listed.to_excel('비상장종목.xlsx')

def get_salary(name):
    corp_code = df_listed[df_listed['corp_name'] == 'name'].iloc[0,0]
    data = dart_fss.api.info.emp_sttus(corp_code, '2021', '11011')
    df=pd.DataFrame(data['list'])
    df=df[['corp_name','sexdstn','jan_salary_am']]
    df_result=pd.DataFrame()
    doc={
        '기업명':'name',
        '연봉(남)': df[df['sexdstn']=='남'].iloc[-1,-1],
        '연봉(여)': df[df['sexdstn']=='남'].iloc[-1,-1]}
    df_result =  df_result.append(doc,ignore_index = True)
    df_result['연봉(남)']=pd.to_numeric(df_result['연봉(남)'].str.replace(',',''))
    df_result['연봉(여)']=pd.to_numeric(df_result['연봉(여)'].str.replace(',',''))
names = list(df_listed.sample(10)['corp_name'])
dfs=[]
for name in names:
    try:
        df=get_salary(name)
        dfs.append(df)
    except:
        print(f'error-{name}')
df_result = pd.concat(dfs)
print(df_result)

류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴