company.earnings['TSLA']['financialsChart']['yearly']
{}딕셔너리
[]리스트 안에 담겨 있다.
리스트로 나오면 보기 불편하니, 데이타프레임DataFrame으로 만들자.
---------------
아까건 doc에 담고,
doc = company.earnings['TSLA']['financialsChart']['yearly']
shift+enter
import pandas as pd
shift+enter
pd.DataFrame(doc)
실행하면,
짜잔. 데이터프레임으로 담겼다.
이걸 한 번에 쓰면,
import pandas as pd
doc = company.earnings['TSLA']['financialsChart']['yearly']
df = pd.DataFrame(doc)
df
---------------
0행 1열의 값을 가져오고 싶다?
df.iloc[0,1]
그럼 24578000000이 뜸.
-------------------
import pandas as pd
doc = company.earnings['TSLA']['financialsChart']['yearly']
df = pd.DataFrame(doc)
rev2019 = df.iloc[0,1] / 1000
rev2020 = df.iloc[1,1] / 1000
rev2021 = df.iloc[2,1] / 1000
ear2019 = df.iloc[0,2] / 1000
ear2020 = df.iloc[1,2] / 1000
ear2021 = df.iloc[2,2] / 1000
print(rev2019, rev2020, rev2021, ear2019)
-------------------------
이걸 앞서 했던 테슬라 건에 합쳐보자.
import는 그냥 임포트니까 두고,
doc이하~ear2021줄까지 잘라서 붙이고,
딕셔너리변환 코드스니펫 붙임.
TSLA를 넣든 META를 넣든 나오게 함수화 해보자.
def add_company(code):
나머지를 이 안의 내용물로 넣자.
그리고 마지막은
return doc
def add_company(code):
company = Ticker(code)
modules = 'summaryDetail assetProfile price financialData defaultKeyStatistics'
all_data = company.get_modules(modules)
name = all_data[code]['price']['shortName']
industry = all_data[code]['assetProfile']['industry']
marketCap= all_data[code]['price']['marketCap']
currentPrice= all_data[code]['financialData']['currentPrice']
business = all_data[code]['assetProfile']['longBusinessSummary']
targetPrice = all_data[code]['financialData']['targetMeanPrice']
per = all_data[code]['summaryDetail']['trailingPE']
eps = all_data[code]['defaultKeyStatistics']['trailingEps']
pbr = all_data[code]['defaultKeyStatistics']['priceToBook']
df_earnings = pd.DataFrame.from_dict(company.earnings[code]['financialsChart']['yearly'])
rev2021 = df_earnings.iloc[-2,1]
rev2020 = df_earnings.iloc[-3,1]
rev2019 = df_earnings.iloc[-4,1]
ear2021 = df_earnings.iloc[-2,2]
ear2020 = df_earnings.iloc[-3,2]
ear2019 = df_earnings.iloc[-4,2]
doc = {
'code':code,
'name':name,
'industry':industry,
'business':business,
'marketCap':marketCap/1000,
'currentPrice':currentPrice,
'targetPrice':targetPrice,
'per':per,
'eps':eps,
'pbr':pbr,
'rev2021':rev2021/1000,
'rev2020':rev2020/1000,
'rev2019':rev2019/1000,
'ear2021':ear2021/1000,
'ear2020':ear2020/1000,
'ear2019':ear2019/1000,
}
return doc
새 코드.
add_company('GOOG')
실행하면 구글의 정보가,
add_company('NVDA')
실행하면 엔비디아의 정보가 나온다!
'개발일지_파이썬for금융인' 카테고리의 다른 글
주가 가져오기 라이브러리 설치 (0) | 2023.04.16 |
---|---|
Dart OpenAPI 키 발급받기 (0) | 2023.04.15 |
yahoo query 라이브러리 설치하기 (0) | 2023.04.04 |
엑셀파일 불러와서 판다스로 조정하기 (0) | 2023.03.28 |
라이브러리: 판다스pandas 넘파이numpy (0) | 2023.03.28 |