파이썬을 이용하여 10년치 재무제표 가져오기 - 2. 재무상태표 가져오기
본문 바로가기
파이썬으로 만든 것들/10년치 재무제표 가져오기

파이썬을 이용하여 10년치 재무제표 가져오기 - 2. 재무상태표 가져오기

by Squat Lee 2021. 5. 14.

지난 포스트에서 DART(전자공시시스템)의 API를 통해 10년치 재무제표 데이터를 가지고 왔습니다.

2021.05.13 - [파이썬/Python Project] - 파이썬을 이용하여 10년치 재무제표 가져오기 - 1. Dart(전자공시)에서 10년 재무제표 데이터 가져오기

 

파이썬을 이용하여 10년치 재무제표 가져오기 - 1. Dart(전자공시)에서 10년 재무제표 데이터 가져

주식투자를 하다보면 재무제표를 확인해야 하는 경우가 있습니다. 증권사에서 제공하는 데이터도 유용하지만, 좀 더 깊이있게 기업을 분석하기 위해서는 10년 정도의 데이터를 확인하는 것이

dotsnlines.tistory.com

 

 

 

가져온 데이터는 항목이 너무 많아서 분석이 어렵습니다.

 

분석을 할 수 있도록 필요한 항목만 빼내서 보기좋게 정렬해 보도록 하겠습니다.

 

이번 포스트는 재무상태표를 우선 가져와서 알맞은 형태로 만드는 작업에 대하여 적어 보겠습니다.

 

우선 openpyxl과 pandas 모듈을 가져옵니다.

 

Dart에서 추출한 엑셀파일을 변수로 지정 합니다.

 

재무상태표가 있는 시트를 가져오기 위해서 변수로 지정합니다.

 

각 (회계)년도를 가져와서 List로 저장합니다.

 

필요한 항목만 가져와야 하기 때문에, Code 명을 List로 만듭니다.

 

 

여러 Dataframe을 합쳐야 하기 때문에 데이터프레임을 저장할 List 변수를 만듭니다.

 

각 항목별 데이터를 입력해서 데이터프레임을 맏듭니다.

 

모든 데이터프레임을 합치고, 열과 행의 위치를 바꿔줍니다.

 

결과를 확인해 보도록 하겠습니다.

 

 

결과가 잘 나왔네요.

 

전체 코드는 아래와 같습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from openpyxl import Workbook, load_workbook
import pandas as pd
 
# Company that you find
file = 'fs_samsung.xlsx'
 
wb = load_workbook(file)
 
# 재무상태표 시트 지정
ws_bs = wb['Data_bs']
 
# 년도 가져오기
y_list = []
= 10
while ws_bs.cell(2, c).value != None:
    y = ws_bs.cell(1, c).value
    if y[:1== '2':
        y_list.append(y)
    c += 1
 
# 가져올 항목 List로 만들기
bs_items = ['ifrs-full_Assets''ifrs-full_CurrentAssets''ifrs-full_CashAndCashEquivalents''dart_ShortTermTradeReceivable',
            'entity00126380_udf_BS_201710182279121_CurrentAssets''ifrs-full_Inventories''ifrs-full_Liabilities',
            'ifrs-full_CurrentLiabilities''ifrs-full_ShorttermBorrowings''ifrs-full_Equity''ifrs-full_IssuedCapital',
            'ifrs-full_RetainedEarnings']
 
# 재무상태표 Data 가져오기
df_list = []
for bs_item in bs_items:
    temp_list = []
    r = 4
    while ws_bs.cell(r,2).value != None:
        if ws_bs.cell(r,2).value == bs_item:
            item = ws_bs.cell(r, 3).value
            c = 10
            while ws_bs.cell(1,c).value != None:
                temp_list.append(ws_bs.cell(r,c).value)
                c += 1
        r += 1
    df = pd.DataFrame({item : temp_list}, index=y_list)
    df_list.append(df)
 
total_df = pd.concat(df_list, axis=1)
total_df = total_df.transpose()
 
print(total_df)
total_df.to_excel('재무상태표.xlsx')
cs

2021.05.15 - [파이썬/Python Project] - 파이썬을 이용하여 10년치 재무제표 가져오기 - 3. 손익계산서, 현금흐름표 가져오기

 

 

파이썬을 이용하여 10년치 재무제표 가져오기 - 3. 손익계산서, 현금흐름표 가져오기

지난 포스트에 이어서 손익계산서와 현금흐름까지 10년치 데이터를 가져와 보도록 하겠습니다. 2021.05.14 - [파이썬/Python Project] - 파이썬을 이용하여 10년치 재무제표 가져오기 - 2. 재무상태표 가

dotsnlines.tistory.com

 

CAGR(연복리 수익률) 30%를 목표로 하는 파이썬 퀀트투자법이 궁금하시다면 아래 포스트를 클릭해 보시기 바랍니다.

2021.11.21 - [집구석 강의/파이썬 퀀트투자 쉽게하기] - 파이썬 퀀트투자 쉽게하기 - 1. 들어가는 글

 

파이썬 퀀트투자 쉽게하기 - 1. 들어가는 글

퀀트투자는 참으로 매력적인 투자방법입니다. 일정한 기준으로 종목을 선별해서 일정한 기간 후에 기계적으로 매도하고, 다시 같은 방법으로 매수합니다. 이런 작업을 계속해서 반복하다 보면

dotsnlines.tistory.com

 

 

dd.py
0.00MB
fs_samsung.xlsx
0.03MB

728x90
반응형

댓글