{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "6b1f2d8c",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "74dfa9d9-6a45-4b21-ba7c-4a63648a74d0",
"metadata": {},
"outputs": [],
"source": [
"import OpenDartReader\n",
"\n",
"api_key = 'OPEN DART API KEY를 발급받아 넣습니다'\n",
"dart = OpenDartReader(api_key)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "5fb92433-d77f-4daf-950f-d32ab57f4a3b",
"metadata": {},
"outputs": [],
"source": [
"orion = dart.list('271560', start='2021-01-01', end='2022-12-31')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "6b0d09be-95ee-4671-9524-49493a97dba5",
"metadata": {},
"outputs": [],
"source": [
"orion = orion[orion['report_nm'].str.find('잠정')>-1]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "8be7186c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" corp_code | \n",
" corp_name | \n",
" stock_code | \n",
" corp_cls | \n",
" report_nm | \n",
" rcept_no | \n",
" flr_nm | \n",
" rcept_dt | \n",
" rm | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20221220800115 | \n",
" 오리온 | \n",
" 20221220 | \n",
" 유 | \n",
"
\n",
" \n",
" 3 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20221115800105 | \n",
" 오리온 | \n",
" 20221115 | \n",
" 유 | \n",
"
\n",
" \n",
" 8 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20221018800103 | \n",
" 오리온 | \n",
" 20221018 | \n",
" 유 | \n",
"
\n",
" \n",
" 11 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20220920800101 | \n",
" 오리온 | \n",
" 20220920 | \n",
" 유 | \n",
"
\n",
" \n",
" 13 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20220822800147 | \n",
" 오리온 | \n",
" 20220822 | \n",
" 유 | \n",
"
\n",
" \n",
" 15 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20220719800129 | \n",
" 오리온 | \n",
" 20220719 | \n",
" 유 | \n",
"
\n",
" \n",
" 19 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20220614800163 | \n",
" 오리온 | \n",
" 20220614 | \n",
" 유 | \n",
"
\n",
" \n",
" 21 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20220517800116 | \n",
" 오리온 | \n",
" 20220517 | \n",
" 유 | \n",
"
\n",
" \n",
" 24 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20220419800285 | \n",
" 오리온 | \n",
" 20220419 | \n",
" 유 | \n",
"
\n",
" \n",
" 30 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20220324800683 | \n",
" 오리온 | \n",
" 20220324 | \n",
" 유 | \n",
"
\n",
" \n",
" 34 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" [기재정정]연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20220316802320 | \n",
" 오리온 | \n",
" 20220316 | \n",
" 유 | \n",
"
\n",
" \n",
" 35 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" [기재정정]연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20220316802316 | \n",
" 오리온 | \n",
" 20220316 | \n",
" 유 | \n",
"
\n",
" \n",
" 42 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20211214800323 | \n",
" 오리온 | \n",
" 20211214 | \n",
" 유 | \n",
"
\n",
" \n",
" 46 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20211116800152 | \n",
" 오리온 | \n",
" 20211116 | \n",
" 유 | \n",
"
\n",
" \n",
" 48 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20211110800242 | \n",
" 오리온 | \n",
" 20211110 | \n",
" 유 | \n",
"
\n",
" \n",
" 50 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20211019800231 | \n",
" 오리온 | \n",
" 20211019 | \n",
" 유 | \n",
"
\n",
" \n",
" 52 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210914800231 | \n",
" 오리온 | \n",
" 20210914 | \n",
" 유 | \n",
"
\n",
" \n",
" 53 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210819800209 | \n",
" 오리온 | \n",
" 20210819 | \n",
" 유 | \n",
"
\n",
" \n",
" 56 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210811800284 | \n",
" 오리온 | \n",
" 20210811 | \n",
" 유 | \n",
"
\n",
" \n",
" 57 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210720800215 | \n",
" 오리온 | \n",
" 20210720 | \n",
" 유 | \n",
"
\n",
" \n",
" 59 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210615800407 | \n",
" 오리온 | \n",
" 20210615 | \n",
" 유 | \n",
"
\n",
" \n",
" 61 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210518800183 | \n",
" 오리온 | \n",
" 20210518 | \n",
" 유 | \n",
"
\n",
" \n",
" 63 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210506800215 | \n",
" 오리온 | \n",
" 20210506 | \n",
" 유 | \n",
"
\n",
" \n",
" 65 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210414800234 | \n",
" 오리온 | \n",
" 20210414 | \n",
" 유 | \n",
"
\n",
" \n",
" 69 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" 연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210316800253 | \n",
" 오리온 | \n",
" 20210316 | \n",
" 유 | \n",
"
\n",
" \n",
" 72 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" [기재정정]연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210310801375 | \n",
" 오리온 | \n",
" 20210310 | \n",
" 유 | \n",
"
\n",
" \n",
" 75 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" [기재정정]연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210310801222 | \n",
" 오리온 | \n",
" 20210310 | \n",
" 유 | \n",
"
\n",
" \n",
" 76 | \n",
" 01238169 | \n",
" 오리온 | \n",
" 271560 | \n",
" Y | \n",
" [기재정정]연결재무제표기준영업(잠정)실적(공정공시) | \n",
" 20210310801190 | \n",
" 오리온 | \n",
" 20210310 | \n",
" 유 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" corp_code corp_name stock_code corp_cls report_nm \\\n",
"1 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"3 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"8 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"11 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"13 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"15 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"19 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"21 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"24 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"30 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"34 01238169 오리온 271560 Y [기재정정]연결재무제표기준영업(잠정)실적(공정공시) \n",
"35 01238169 오리온 271560 Y [기재정정]연결재무제표기준영업(잠정)실적(공정공시) \n",
"42 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"46 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"48 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"50 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"52 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"53 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"56 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"57 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"59 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"61 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"63 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"65 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"69 01238169 오리온 271560 Y 연결재무제표기준영업(잠정)실적(공정공시) \n",
"72 01238169 오리온 271560 Y [기재정정]연결재무제표기준영업(잠정)실적(공정공시) \n",
"75 01238169 오리온 271560 Y [기재정정]연결재무제표기준영업(잠정)실적(공정공시) \n",
"76 01238169 오리온 271560 Y [기재정정]연결재무제표기준영업(잠정)실적(공정공시) \n",
"\n",
" rcept_no flr_nm rcept_dt rm \n",
"1 20221220800115 오리온 20221220 유 \n",
"3 20221115800105 오리온 20221115 유 \n",
"8 20221018800103 오리온 20221018 유 \n",
"11 20220920800101 오리온 20220920 유 \n",
"13 20220822800147 오리온 20220822 유 \n",
"15 20220719800129 오리온 20220719 유 \n",
"19 20220614800163 오리온 20220614 유 \n",
"21 20220517800116 오리온 20220517 유 \n",
"24 20220419800285 오리온 20220419 유 \n",
"30 20220324800683 오리온 20220324 유 \n",
"34 20220316802320 오리온 20220316 유 \n",
"35 20220316802316 오리온 20220316 유 \n",
"42 20211214800323 오리온 20211214 유 \n",
"46 20211116800152 오리온 20211116 유 \n",
"48 20211110800242 오리온 20211110 유 \n",
"50 20211019800231 오리온 20211019 유 \n",
"52 20210914800231 오리온 20210914 유 \n",
"53 20210819800209 오리온 20210819 유 \n",
"56 20210811800284 오리온 20210811 유 \n",
"57 20210720800215 오리온 20210720 유 \n",
"59 20210615800407 오리온 20210615 유 \n",
"61 20210518800183 오리온 20210518 유 \n",
"63 20210506800215 오리온 20210506 유 \n",
"65 20210414800234 오리온 20210414 유 \n",
"69 20210316800253 오리온 20210316 유 \n",
"72 20210310801375 오리온 20210310 유 \n",
"75 20210310801222 오리온 20210310 유 \n",
"76 20210310801190 오리온 20210310 유 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"orion"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "30e3d6eb",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 0 | \n",
" 1 | \n",
" 2 | \n",
" 3 | \n",
" 4 | \n",
" 5 | \n",
" 6 | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. | \n",
" ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. | \n",
" ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. | \n",
" ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. | \n",
" ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. | \n",
" ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. | \n",
" ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. | \n",
"
\n",
" \n",
" 1 | \n",
" 1. 연결실적내용 | \n",
" 1. 연결실적내용 | \n",
" 1. 연결실적내용 | \n",
" 1. 연결실적내용 | \n",
" 단위 : 억원, % | \n",
" 단위 : 억원, % | \n",
" 단위 : 억원, % | \n",
"
\n",
" \n",
" 2 | \n",
" 구분 | \n",
" 구분 | \n",
" 당기실적 | \n",
" 전기실적 | \n",
" 전기대비증감율(%) | \n",
" 전년동기실적 | \n",
" 전년동기대비증감율(%) | \n",
"
\n",
" \n",
" 3 | \n",
" 구분 | \n",
" 구분 | \n",
" (-) | \n",
" (-) | \n",
" 전기대비증감율(%) | \n",
" (-) | \n",
" 전년동기대비증감율(%) | \n",
"
\n",
" \n",
" 4 | \n",
" 매출액 | \n",
" 당해실적 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 5 | \n",
" 매출액 | \n",
" 누계실적 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 6 | \n",
" 영업이익 | \n",
" 당해실적 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 7 | \n",
" 영업이익 | \n",
" 누계실적 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 8 | \n",
" 법인세비용차감전계속사업이익 | \n",
" 당해실적 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 9 | \n",
" 법인세비용차감전계속사업이익 | \n",
" 누계실적 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 10 | \n",
" 당기순이익 | \n",
" 당해실적 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 11 | \n",
" 당기순이익 | \n",
" 누계실적 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 12 | \n",
" 지배기업 소유주지분 순이익 | \n",
" 당해실적 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 13 | \n",
" 지배기업 소유주지분 순이익 | \n",
" 누계실적 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 14 | \n",
" 구분(억원, %) | \n",
" 구분(억원, %) | \n",
" 당기실적(21년 6월) | \n",
" 전기실적(21년 5월) | \n",
" 전기대비 증감율(%) | \n",
" 전년동기실적(20년 6월) | \n",
" 전년동기대비증감율(%) | \n",
"
\n",
" \n",
" 15 | \n",
" 국가별 매출액 | \n",
" 국가별 매출액 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 16 | \n",
" 한국(오리온) | \n",
" 한국(오리온) | \n",
" 628 | \n",
" 645 | \n",
" -2.6 | \n",
" 589 | \n",
" 6.6 | \n",
"
\n",
" \n",
" 17 | \n",
" 중국(OFC) | \n",
" 중국(OFC) | \n",
" 651 | \n",
" 787 | \n",
" -17.3 | \n",
" 730 | \n",
" -10.8 | \n",
"
\n",
" \n",
" 18 | \n",
" 베트남(OFV) | \n",
" 베트남(OFV) | \n",
" 210 | \n",
" 216 | \n",
" -2.8 | \n",
" 185 | \n",
" 13.5 | \n",
"
\n",
" \n",
" 19 | \n",
" 러시아(OIE) | \n",
" 러시아(OIE) | \n",
" 99 | \n",
" 88 | \n",
" 12.5 | \n",
" 69 | \n",
" 43.5 | \n",
"
\n",
" \n",
" 20 | \n",
" 국가별 영업이익 | \n",
" 국가별 영업이익 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 21 | \n",
" 한국(오리온) | \n",
" 한국(오리온) | \n",
" 89 | \n",
" 98 | \n",
" -9.2 | \n",
" 70 | \n",
" 27.1 | \n",
"
\n",
" \n",
" 22 | \n",
" 중국(OFC등 9개법인) | \n",
" 중국(OFC등 9개법인) | \n",
" 26 | \n",
" 51 | \n",
" -49.0 | \n",
" 81 | \n",
" -67.9 | \n",
"
\n",
" \n",
" 23 | \n",
" 베트남(OFV) | \n",
" 베트남(OFV) | \n",
" 26 | \n",
" 30 | \n",
" -13.3 | \n",
" 29 | \n",
" -10.3 | \n",
"
\n",
" \n",
" 24 | \n",
" 러시아(OIE) | \n",
" 러시아(OIE) | \n",
" 13 | \n",
" 12 | \n",
" 8.3 | \n",
" 12 | \n",
" 8.3 | \n",
"
\n",
" \n",
" 25 | \n",
" 2. 정보제공내역 | \n",
" 2. 정보제공내역 | \n",
" 정보제공자 | \n",
" 정보제공자 | \n",
" 재경팀 | \n",
" 재경팀 | \n",
" 재경팀 | \n",
"
\n",
" \n",
" 26 | \n",
" 2. 정보제공내역 | \n",
" 2. 정보제공내역 | \n",
" 정보제공대상자 | \n",
" 정보제공대상자 | \n",
" 기관투자자 및 일반투자자 등 | \n",
" 기관투자자 및 일반투자자 등 | \n",
" 기관투자자 및 일반투자자 등 | \n",
"
\n",
" \n",
" 27 | \n",
" 2. 정보제공내역 | \n",
" 2. 정보제공내역 | \n",
" 정보제공(예정)일시 | \n",
" 정보제공(예정)일시 | \n",
" 공정공시 후 수시 제공 | \n",
" 공정공시 후 수시 제공 | \n",
" 공정공시 후 수시 제공 | \n",
"
\n",
" \n",
" 28 | \n",
" 2. 정보제공내역 | \n",
" 2. 정보제공내역 | \n",
" 행사명(장소) | \n",
" 행사명(장소) | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
" 29 | \n",
" 3. 연락처(관련부서/전화번호) | \n",
" 3. 연락처(관련부서/전화번호) | \n",
" 3. 연락처(관련부서/전화번호) | \n",
" 3. 연락처(관련부서/전화번호) | \n",
" 02-710-6000 | \n",
" 02-710-6000 | \n",
" 02-710-6000 | \n",
"
\n",
" \n",
" 30 | \n",
" 4. 기타 투자판단과 관련한 중요사항 | \n",
" 4. 기타 투자판단과 관련한 중요사항 | \n",
" 4. 기타 투자판단과 관련한 중요사항 | \n",
" 4. 기타 투자판단과 관련한 중요사항 | \n",
" 4. 기타 투자판단과 관련한 중요사항 | \n",
" 4. 기타 투자판단과 관련한 중요사항 | \n",
" 4. 기타 투자판단과 관련한 중요사항 | \n",
"
\n",
" \n",
" 31 | \n",
" - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... | \n",
" - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... | \n",
" - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... | \n",
" - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... | \n",
" - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... | \n",
" - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... | \n",
" - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... | \n",
"
\n",
" \n",
" 32 | \n",
" ※ 관련공시 | \n",
" ※ 관련공시 | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
" - | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 0 \\\n",
"0 ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. \n",
"1 1. 연결실적내용 \n",
"2 구분 \n",
"3 구분 \n",
"4 매출액 \n",
"5 매출액 \n",
"6 영업이익 \n",
"7 영업이익 \n",
"8 법인세비용차감전계속사업이익 \n",
"9 법인세비용차감전계속사업이익 \n",
"10 당기순이익 \n",
"11 당기순이익 \n",
"12 지배기업 소유주지분 순이익 \n",
"13 지배기업 소유주지분 순이익 \n",
"14 구분(억원, %) \n",
"15 국가별 매출액 \n",
"16 한국(오리온) \n",
"17 중국(OFC) \n",
"18 베트남(OFV) \n",
"19 러시아(OIE) \n",
"20 국가별 영업이익 \n",
"21 한국(오리온) \n",
"22 중국(OFC등 9개법인) \n",
"23 베트남(OFV) \n",
"24 러시아(OIE) \n",
"25 2. 정보제공내역 \n",
"26 2. 정보제공내역 \n",
"27 2. 정보제공내역 \n",
"28 2. 정보제공내역 \n",
"29 3. 연락처(관련부서/전화번호) \n",
"30 4. 기타 투자판단과 관련한 중요사항 \n",
"31 - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... \n",
"32 ※ 관련공시 \n",
"\n",
" 1 \\\n",
"0 ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. \n",
"1 1. 연결실적내용 \n",
"2 구분 \n",
"3 구분 \n",
"4 당해실적 \n",
"5 누계실적 \n",
"6 당해실적 \n",
"7 누계실적 \n",
"8 당해실적 \n",
"9 누계실적 \n",
"10 당해실적 \n",
"11 누계실적 \n",
"12 당해실적 \n",
"13 누계실적 \n",
"14 구분(억원, %) \n",
"15 국가별 매출액 \n",
"16 한국(오리온) \n",
"17 중국(OFC) \n",
"18 베트남(OFV) \n",
"19 러시아(OIE) \n",
"20 국가별 영업이익 \n",
"21 한국(오리온) \n",
"22 중국(OFC등 9개법인) \n",
"23 베트남(OFV) \n",
"24 러시아(OIE) \n",
"25 2. 정보제공내역 \n",
"26 2. 정보제공내역 \n",
"27 2. 정보제공내역 \n",
"28 2. 정보제공내역 \n",
"29 3. 연락처(관련부서/전화번호) \n",
"30 4. 기타 투자판단과 관련한 중요사항 \n",
"31 - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... \n",
"32 ※ 관련공시 \n",
"\n",
" 2 \\\n",
"0 ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. \n",
"1 1. 연결실적내용 \n",
"2 당기실적 \n",
"3 (-) \n",
"4 - \n",
"5 - \n",
"6 - \n",
"7 - \n",
"8 - \n",
"9 - \n",
"10 - \n",
"11 - \n",
"12 - \n",
"13 - \n",
"14 당기실적(21년 6월) \n",
"15 - \n",
"16 628 \n",
"17 651 \n",
"18 210 \n",
"19 99 \n",
"20 - \n",
"21 89 \n",
"22 26 \n",
"23 26 \n",
"24 13 \n",
"25 정보제공자 \n",
"26 정보제공대상자 \n",
"27 정보제공(예정)일시 \n",
"28 행사명(장소) \n",
"29 3. 연락처(관련부서/전화번호) \n",
"30 4. 기타 투자판단과 관련한 중요사항 \n",
"31 - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... \n",
"32 - \n",
"\n",
" 3 \\\n",
"0 ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. \n",
"1 1. 연결실적내용 \n",
"2 전기실적 \n",
"3 (-) \n",
"4 - \n",
"5 - \n",
"6 - \n",
"7 - \n",
"8 - \n",
"9 - \n",
"10 - \n",
"11 - \n",
"12 - \n",
"13 - \n",
"14 전기실적(21년 5월) \n",
"15 - \n",
"16 645 \n",
"17 787 \n",
"18 216 \n",
"19 88 \n",
"20 - \n",
"21 98 \n",
"22 51 \n",
"23 30 \n",
"24 12 \n",
"25 정보제공자 \n",
"26 정보제공대상자 \n",
"27 정보제공(예정)일시 \n",
"28 행사명(장소) \n",
"29 3. 연락처(관련부서/전화번호) \n",
"30 4. 기타 투자판단과 관련한 중요사항 \n",
"31 - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... \n",
"32 - \n",
"\n",
" 4 \\\n",
"0 ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. \n",
"1 단위 : 억원, % \n",
"2 전기대비증감율(%) \n",
"3 전기대비증감율(%) \n",
"4 - \n",
"5 - \n",
"6 - \n",
"7 - \n",
"8 - \n",
"9 - \n",
"10 - \n",
"11 - \n",
"12 - \n",
"13 - \n",
"14 전기대비 증감율(%) \n",
"15 - \n",
"16 -2.6 \n",
"17 -17.3 \n",
"18 -2.8 \n",
"19 12.5 \n",
"20 - \n",
"21 -9.2 \n",
"22 -49.0 \n",
"23 -13.3 \n",
"24 8.3 \n",
"25 재경팀 \n",
"26 기관투자자 및 일반투자자 등 \n",
"27 공정공시 후 수시 제공 \n",
"28 - \n",
"29 02-710-6000 \n",
"30 4. 기타 투자판단과 관련한 중요사항 \n",
"31 - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... \n",
"32 - \n",
"\n",
" 5 \\\n",
"0 ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. \n",
"1 단위 : 억원, % \n",
"2 전년동기실적 \n",
"3 (-) \n",
"4 - \n",
"5 - \n",
"6 - \n",
"7 - \n",
"8 - \n",
"9 - \n",
"10 - \n",
"11 - \n",
"12 - \n",
"13 - \n",
"14 전년동기실적(20년 6월) \n",
"15 - \n",
"16 589 \n",
"17 730 \n",
"18 185 \n",
"19 69 \n",
"20 - \n",
"21 70 \n",
"22 81 \n",
"23 29 \n",
"24 12 \n",
"25 재경팀 \n",
"26 기관투자자 및 일반투자자 등 \n",
"27 공정공시 후 수시 제공 \n",
"28 - \n",
"29 02-710-6000 \n",
"30 4. 기타 투자판단과 관련한 중요사항 \n",
"31 - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... \n",
"32 - \n",
"\n",
" 6 \n",
"0 ※ 동 정보는 잠정치로서 향후 확정치와는 다를 수 있음. \n",
"1 단위 : 억원, % \n",
"2 전년동기대비증감율(%) \n",
"3 전년동기대비증감율(%) \n",
"4 - \n",
"5 - \n",
"6 - \n",
"7 - \n",
"8 - \n",
"9 - \n",
"10 - \n",
"11 - \n",
"12 - \n",
"13 - \n",
"14 전년동기대비증감율(%) \n",
"15 - \n",
"16 6.6 \n",
"17 -10.8 \n",
"18 13.5 \n",
"19 43.5 \n",
"20 - \n",
"21 27.1 \n",
"22 -67.9 \n",
"23 -10.3 \n",
"24 8.3 \n",
"25 재경팀 \n",
"26 기관투자자 및 일반투자자 등 \n",
"27 공정공시 후 수시 제공 \n",
"28 - \n",
"29 02-710-6000 \n",
"30 4. 기타 투자판단과 관련한 중요사항 \n",
"31 - 중국 종속회사에 대한 오리온의 소유지분율은 95.2% 이며, 베트남법인 소유지분... \n",
"32 - "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# test\n",
"xml_text = dart.document('20210720800215')\n",
"df = pd.read_html(xml_text)[0]\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "bcd56d8e",
"metadata": {},
"outputs": [],
"source": [
"def make_ym(text):\n",
" try:\n",
" text_s = text.replace(' ','').split('년')\n",
" year = text_s[0].replace('당기실적(','20')\n",
" month = text_s[1].replace('월)','').zfill(2)\n",
" except:\n",
" return text\n",
" return year + month "
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "8627b228",
"metadata": {},
"outputs": [],
"source": [
"def make_table(rcept_no, nth=0, cla=\"매출액\"):\n",
" try:\n",
" xml_text = dart.document(rcept_no)\n",
" df = pd.read_html(xml_text)[nth]\n",
" if cla == \"매출액\":\n",
" df1 = df.iloc[16:20]\n",
" elif cla == \"영업이익\":\n",
" df1 = df.iloc[21:24]\n",
" \n",
" df1.columns = df.iloc[14].to_list()\n",
" df1 =df1.iloc[:, 0:3]\n",
"\n",
" df1.columns = ['국가','기타',make_ym(df1.columns[2])]\n",
" df1 = df1.set_index('국가').drop('기타', axis=1)\n",
" \n",
" except:\n",
" if nth!=5:\n",
" df1 = make_table(rcept_no, nth=nth+1)\n",
" else:\n",
" print('error')\n",
" return pd.DataFrame()\n",
" \n",
" return df1"
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "f196eed9",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"for idx, r in enumerate(orion['rcept_no']):\n",
" if idx == 0: sale = make_table(r)\n",
" else:\n",
" mt = make_table(r)\n",
" \n",
" try: \n",
" sale = sale.join(mt)\n",
" except:\n",
" pass"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "b97a8e19",
"metadata": {},
"outputs": [],
"source": [
"def transform(sale):\n",
" sale = sale[[c for c in sale.columns if c[0:2]==\"20\"]]\n",
"\n",
" sale = sale.stack().reset_index(drop=False)\n",
"\n",
" sale['year'] = sale['level_1'].str[0:4]\n",
" sale['month'] = sale['level_1'].str[4:6]\n",
" sale = sale.rename(columns={0:'val'})\n",
"\n",
" sale['year'] = sale['year'].astype(str)\n",
" sale['month'] = sale['month'].astype(int)\n",
" sale['val'] = sale['val'].astype(int)\n",
" \n",
" return sale\n"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "782529c1",
"metadata": {},
"outputs": [],
"source": [
"sale = transform(sale)"
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "4802ac2f",
"metadata": {},
"outputs": [],
"source": [
"sale = sale[sale['level_1']>='202100']"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "4a25611f",
"metadata": {},
"outputs": [],
"source": [
"import plotly.express as px"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "33bbb705",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 57,
"id": "70e4b0f6",
"metadata": {},
"outputs": [],
"source": [
"def get_graph(country):\n",
" gr = sale[sale['국가']==country]\n",
" gra = px.line(data_frame=gr, x='month', y='val', color='year')\n",
" gra.show()"
]
},
{
"cell_type": "code",
"execution_count": 58,
"id": "69c6e50d",
"metadata": {},
"outputs": [],
"source": [
"country_list = set(sale['국가'].to_list())"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "6f12184d",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "d64f647908064640898d0018c5884905",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"interactive(children=(Dropdown(description='country', options=('베트남(OFV)', '한국(오리온)', '중국(OFC)', '러시아(OIE)'), …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from ipywidgets import interact\n",
"\n",
"interact(get_graph, country=country_list)"
]
},
{
"cell_type": "markdown",
"id": "5c44e7a9",
"metadata": {},
"source": [
"영업이익"
]
},
{
"cell_type": "code",
"execution_count": 60,
"id": "3ce58377",
"metadata": {},
"outputs": [],
"source": [
"for idx, r in enumerate(orion['rcept_no']):\n",
" if idx == 0: prof = make_table(r, cla='영업이익')\n",
" else:\n",
" mt = make_table(r, cla='영업이익')\n",
" \n",
" try: \n",
" prof = prof.join(mt)\n",
" except:\n",
" pass"
]
},
{
"cell_type": "code",
"execution_count": 61,
"id": "57805303",
"metadata": {},
"outputs": [],
"source": [
"prof = transform(prof)"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "f16915b5",
"metadata": {},
"outputs": [],
"source": [
"prof = prof[prof['level_1']>='202100']"
]
},
{
"cell_type": "code",
"execution_count": 63,
"id": "0fb7ca63",
"metadata": {},
"outputs": [],
"source": [
"def get_graph(country):\n",
" gr = prof[prof['국가']==country]\n",
" gra = px.bar(data_frame=gr, x='month', y='val', color='year').update_layout(barmode='group')\n",
" gra.show()"
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "8e415f54",
"metadata": {},
"outputs": [],
"source": [
"country_prof_list = set(prof['국가'].to_list())"
]
},
{
"cell_type": "code",
"execution_count": 67,
"id": "0553f7a0",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "455e3d3b3c6443f8985df7c82fa76b98",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"interactive(children=(Dropdown(description='country', options=('한국(오리온)', '중국(OFC등 8개법인)', '베트남(OFV)'), value=…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from ipywidgets import interact\n",
"\n",
"interact(get_graph, country=country_prof_list)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "6809aa50",
"metadata": {},
"outputs": [],
"source": [
"from plotly.subplots import make_subplots\n",
"import plotly.graph_objects as go"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "13769f29",
"metadata": {},
"outputs": [],
"source": [
"country='한국(오리온)'"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "21c0a237",
"metadata": {},
"outputs": [],
"source": [
"def gra_new(country):\n",
" fig = make_subplots(\n",
" rows=2, cols=1, shared_xaxes=True, vertical_spacing=0.02,\n",
" row_heights = [0.7, 0.3],\n",
" )\n",
"\n",
" sale_gra = sale[sale['국가']==country]\n",
" prof_gra = prof[prof['국가']==country]\n",
"\n",
" sale_gra_pre = sale_gra[sale_gra['year']=='2021']\n",
" sale_gra_aft = sale_gra[sale_gra['year']=='2022']\n",
" prof_gra_pre = prof_gra[prof_gra['year']=='2021']\n",
" prof_gra_aft = prof_gra[prof_gra['year']=='2022']\n",
"\n",
" fig.add_trace(go.Line(x=sale_gra_pre['month'], y=sale_gra_pre['val'], name='2021년 매출액'), row=1, col=1)\n",
" fig.add_trace(go.Line(x=sale_gra_aft['month'], y=sale_gra_aft['val'], name='2022년 매출액'), row=1, col=1)\n",
"\n",
" fig.add_trace(go.Bar(x=prof_gra_pre['month'], y=prof_gra_pre['val'], name='2021년 영업이익'\n",
" ,marker={'color': 'blue'}), row=2, col=1)\n",
" fig.add_trace(go.Bar(x=prof_gra_aft['month'], y=prof_gra_aft['val'], name='2022년 영업이익'\n",
" ,marker={'color': 'red'}), row=2, col=1) \n",
" fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "4dba1476",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3a2f193f5b6f446682de4b6d8efe4710",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"interactive(children=(Dropdown(description='country', options=('베트남(OFV)', '한국(오리온)', '중국(OFC)', '러시아(OIE)'), …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from ipywidgets import interact\n",
"\n",
"interact(gra_new, country=country_list)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c062d0c9",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.10"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 5
}