일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 주식이야기
- 주식아빠
- 주식투자성공하기
- 실버매니아
- 구름IDE
- 주식길잡이
- 파이썬_구름IDE
- 관련주
- 식기세척기가능전기그릴
- 파이썬
- 가성비좋은전기그릴
- 파이썬구름
- 어린이날테마주
- 파이썬엑셀프린트
- 주린이
- 주식시작하기
- 기울어진열판
- 파이썬엑셀
- 좀버남
- 파이썬전체종목재무데이터
- 파이썬재무데이터
- 파이썬주식전체종목가져오기
- 파이썬엑셀추출
- 파이썬크롤링
- 5G안테나
- 파이썬주식
- 비에이치투자전략
- 치명적단점
- 파이썬주식전체종목
- 파이썬재무데이터크롤링
- Today
- Total
주식아빠, 좀버남의 주식 연구소
[주식-프로그래밍] 8. 파이썬 - 데이터 엑셀파일로 추출하기 본문
안녕하세요
2020/05/30 - [코딩이야기/파이썬] - [주식-프로그래밍] 7. 파이썬 - 주식 전체종목 코드 가져오기
[주식-프로그래밍] 7. 파이썬 - 주식 전체종목 코드 가져오기
안녕하세요. 2020/05/26 - [코딩이야기/파이썬] - [주식-프로그래밍] 6. 파이썬 - 주식 전체종목 재무데이터 가져오기 - 세번째 [주식-프로그래밍] 6. 파이썬 - 주식 전체종목 재무데이터 가져오기 - 세�
kang-stock-coding.tistory.com
지난시간에 이어서 이번 시간에는 만들어낸 결과물을 엑셀파일로 만드는 것을 해볼텐데요.
우선 다시 FS_Table.py로 돌아오구요. (All_code.py)에서 쓴 결과물은 나중에 쓸꺼니까요.
코드는 정말 쉽습니다.
total_fs.to_excel('Financial.xlsx')
이거 한줄이면 끝입니다.
total_fs.to_excel('파일이름')
import pandas as pd
import requests
from bs4 import BeautifulSoup
from tabulate import tabulate
from pandas import DataFrame
import time
#함수 1.원하는 재무테이블 가져오기
def fs_data(code):
url = 'http://comp.fnguide.com/SVO2/ASP/SVD_Finance.asp?pGB=1&cID=&MenuYn=Y&ReportGB=&NewMenuID=103&stkGb=701&gicode=' + code
res = requests.get(url)
df = pd.read_html(res.text)
temp_df=df[0]
temp_df=temp_df.set_index(temp_df.columns[0])
temp_df=temp_df[temp_df.columns[:4]]
temp_df=temp_df.loc[['매출액','영업이익','당기순이익']]
return temp_df
#함수 2.행열변환 및 테이블 수정
def change_df(code,fs_df):
for num,col in enumerate(fs_df.columns):
temp_df=pd.DataFrame({code:fs_df[col]})
temp_df=temp_df.T
temp_df.columns=[[col]*len(fs_df),temp_df.columns]
if num ==0:
total_df=temp_df
else:
total_df=pd.merge(total_df,temp_df,how='outer',left_index=True,right_index=True)
return total_df
#본문코드
code = ['A005930','A000660', 'A207940', 'A035420', 'A068270']
for num, code in enumerate(code):
fs_data_frame=fs_data(code)
fs_data_frame_changed=change_df(code,fs_data_frame)
if num ==0:
total_fs = fs_data_frame_changed
else:
total_fs=pd.concat([total_fs,fs_data_frame_changed])
total_fs.to_excel('Financial.xlsx')
#print(total_fs)
위와 같이 기존에 print를 주석처리하고 대신에 excel로 추출하는 코드를 넣었습니다.
자 이제 'python FS_Table.py'를 입력하여, 실행해보겠습니다.
아래와 같이 에러코드가 확인 됩니다.
xlsxwriter라는 기능을 사용할수가 없는데요. 라이브러리를 하나 설치해줍니다.
pip install openpyxl
위와 같이 설치가 완료 된 것을 확인 할 수 가 있습니다.
자 이제 실행하면???
터미널에는 별 반응이 없습니다만, 왼쪽 탐색기를 보면 "Finnancil.xlsx" 파일이 생성 된것을 확인 할 수 가 있습니다.
해당 파일에서 마우스 우측을 클릭해서, '열기' 혹은 '파일 다운로드' 등 다양한 방법으로 파일을 열어 볼 수가 있습니다.
자 이제 엑셀파일을 한번 열어보면?? 아래와 같이 데이터가 잘 뽑혀 나오는 것을 확인 할 수 가 있습니다.
감사합니다.
'코딩이야기 > 파이썬' 카테고리의 다른 글
[주식-프로그래밍] 7. 파이썬 - 주식 전체종목 코드 가져오기 (0) | 2020.05.30 |
---|---|
[주식-프로그래밍] 6. 파이썬 - 주식 전체종목 재무데이터 가져오기 - 세번째 (1) | 2020.05.26 |
[주식-프로그래밍] 5. 파이썬 - 주식 전체종목 재무데이터 가져오기 - 두번째 (1) | 2020.05.26 |
[주식-프로그래밍] 4. 파이썬 - 주식 전체종목 재무데이터 가져오기 (2) | 2020.05.25 |
[주식-프로그래밍] 3. 파이썬 크롤링 - 재무데이터 가져오기 (5) | 2020.05.24 |