opendartreader 패키지를 활용한 재무 데이터

조회수 395회

안녕하세요 코린이에다가 독학을 하는 중이라 모르는게 많아 이렇게 질문하려고 합니다.

위와 같은 코딩으로 전 재무제표 데이터를 가지고오려고 하는데 결과 값이 데이터 프레임 형식으로 변환하는게 어렵습니다.

도와주신다면 정말 감사하겠습니다!

import pandas as pd
import numpy as np
import FinanceDataReader as fdr
import OpenDartReader
import json
from pandas import json_normalize
import requests
from bs4 import BeautifulSoup
import requests

api_key = 'f14047589a15f946fb0864925d7c1029fde6c350'

dart = OpenDartReader(api_key)

ls_asia = dart.finstate_all('229640', bsns_year=2021, reprt_code=11014)

# 1분기보고서 : 11013 반기보고서 : 11012 3분기보고서 : 11014 사업보고서 : 11011
ls_asia.head(2)
# bsns_year
# sj_nm 
# account_nm
# thstrm_nm
# thstrm_amount
# frmtrm_nm
# frmtrm_amount 
# reprt_code
# bsns_year
# sj_nm 
# account_nm
# thstrm_nm
# thstrm_amount
# frmtrm_nm
# frmtrm_amount 

years = [2019,2020, 2021]

report_codes = [11013, 11012, 11014, 11011]

col = ['reprt_code','bsns_year','sj_nm','account_nm','thstrm_nm','thstrm_amount','frmtrm_nm','frmtrm_amount']

data = pd.DataFrame()

ls_asia_21_3q = dart.finstate_all('229640', bsns_year= 2021 , reprt_code=11014)
ls_asia_20_3q = dart.finstate_all('229640', bsns_year= 2020 , reprt_code=11014)
ls_asia_19_3q = dart.finstate_all('229640', bsns_year= 2019 , reprt_code=11014)
# 3분기
# ls_asia.query("sj_nm == '포괄손익계산서'")
for year in years:
    for report_code in report_codes:
        df = dart.finstate_all('229640', bsns_year= year , reprt_code=report_code)
        df1 = pd.DataFrame(df, columns=col)
        print([df1])
  • 정확히 무얼 데이터프레임으로 만드는 게 어렵다는 건지 궁금하네요. 올려주신 샘플코드로는 아무 문제없이 print 에서 찾아온 데이터프레임 데이터 잘 찍고 있습니다. nowp 2021.12.20 17:25
  • 답변 감사합니다! 먼저 제가 원하는 형식은 가로로 데이터가 붙어진 형태의 데이터프레임 형태를 원하는데 그런식으로 나오지도 않고, 더군다나 제가 쥬피터 노트북을 사용 중인데 엑셀 화면과 같은 형식의 데이터 프레임 형식을 원했는데 그런 게 안나와서 그럽니다 ㅠ 강 휘윤 2021.12.21 17:23

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)