-
(Linux)환경 실행코드 python3로 주식 정보 수집주식정보 수집하기 2021. 12. 6. 17:49
이번에는 jupyter notebook 말고 Linux환경에서 python3 실행코드로 주식정보를 수집하여 보자. jupyter notebook에서 명령 코드를 작성 후 파이썬 파일로 변환 후 Linux 확경에서 실행 시켜 csv파일에 자동으로 주식 정보를 수집하는 법을 하려고 한다. 이제부터 하나씩 알아보도록 하자. 주식 데이터, 10년치 수집은이전 블로그에 있으니 아래 링크를 참고하자.
1. 라이브러리 및 데이터 불러오기
import os import pandas as pd import time from pykrx import stock stock_total = pd.read_csv("stock_list.csv")
2. 날짜 설정
start_day = "20111201" end_day = "20211201"
3. 반복문 이용 주식 데이터 수집
이전 반복문과 비슷하지만 Linux환경에서 바로 실행시켜 csv 파일에 바로 데이터 수집을 할 예정이다. 그래서 OS 라이브러리를 불러와 csv파일을 설정해주고 바로 데이터 수집에 들어가보자. 데이터 범위가 크므로 5개의 범위만 지정해 결과를 보도록 하자.
#for i in range(len(stock_total)): for i in range(5): stock_code = stock_total['종목코드'][i] stock_name = stock_total['종목명'][i] market = stock_total['시장구분'][i] #stock.get_market_ohlcv_by_date 주식데이터 시작일,종료일,티커 파라미터를 넣어주면 일자별로 정렬하여 DataFrame으로 반환한다. stock_df = stock.get_market_ohlcv_by_date(fromdate=start_day, todate=end_day, ticker=stock_code) # 위 데이터를 가져오면 날짜,시가,고가,저가,..등만 나오므로 칼럼을 추가해주도록 하자. stock_df["종목명"] = stock_name stock_df["종목코드"] = stock_code stock_df["시장구분"] = market stock_df = stock_df.reset_index() time.sleep(1) print(stock_name) # csv 파일이 없다면 csv파일을 만들어 주는 코드 if not os.path.exists('stock_df_total_2.csv'): stock_df.to_csv('stock_df_total_2.csv', index=False, mode='w') # csv파일이 있다면 csv파일에 데이터를 누적 수집한다. header = False는 컬럼을 뺴고 수집한다. else: stock_df.to_csv('stock_df_total_2.csv', index=False, mode='a', header=False)
4. 파이썬 파일 변환
$ jupyter nbconvert --to script [파일명].ipynb 예) jupyter nbconvert --to script stock_total.ipynb
5. Linux 환경 실행
이제 파이썬 파일을 Linux환경에서 실행을 시켜보도록하자.
2가지 실행 방법이 있다 . python3 를 실행 시키는 법과 백엔드에서 실행시키는 방법.
- 1. python3 실행하면 중간에 print(stock_name) 명령어가 있어 잘 수집되는지 볼 수 있다.
- 2. nohup python3 실행시 백엔드에서 실행된다.
python3 실행 $ python3 파일명 백엔드 python3 실행 $ nohup python3 파일명
6. 확인하기
이제 주식 정보 데이터가 잘 수집되었는지 파일을 불러와 확인하자. 데이터가 너무 크므로 일단 범위를 5로 지정하여 출력을 하였다. 제대로 실행시 데이터가 이전처럼 백만이 넘어가는 데이터가 나올 것 이다.
stock_total = pd.read_csv("stock_df_total_2.csv") stock_total
이로써 Linux 환경에서 csv에 바로 주식 데이터를 수집 하는 방법을 배웠다. 다음 단계도 찾아보고 더욱 좋은 정보로
블로그에 남겨보도록 하겠다.
'주식정보 수집하기' 카테고리의 다른 글
주식 정보 데이터 수집하기 및 확인 (0) 2021.12.05 streamlit으로 대시보드를 만들어보자. (0) 2021.12.03 주식 정보 수집을 위한 사전준비 및 연습 (0) 2021.12.02