
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
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) 단축키로 코드를 한 번에 선택할 수 있어요!
