ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [python] 외부변수 설정
    외부변수 이용하기 2021. 12. 6. 19:54

    이번에는 외부변수를 설정해주고 원하는 날짜 설정을 Liunx에서 자유롭게 설정해 원하는 범위의 데이터를 쉽게 수집하는 법을 알아보자. 데이터는 기존 주식 데이터로 연습을 해보도록하자.  기존 데이터는 아래 링크를 참고하자.

     

    1. 기존데이터 불러오기 및 추가

    import os
    import pandas as pd
    import time
    from pykrx import stock
    
    stock_total = pd.read_csv("stock_list.csv")
    
    # 중요 라이브러리!!!!!! 중요 설명은 밑에 자세하게 넣어주도록 하겠다!
    import sys
    
    # 외부 변수 설정해주기 sys.argv[1], sys.argv[2] 
    start_day = sys.argv[1]
    end_day = sys.argv[2]
    
    start_day = str(start_day)
    end_day = str(end_day)
    
    # start_day = "20111201"
    # end_day = "20211201"
    
    for i in range(5):    
        stock_code = stock_total['종목코드'][i]
        stock_name = stock_total['종목명'][i]
        market = stock_total['시장구분'][i]
        
        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(0.5)
        print(stock_name)
        
        if not os.path.exists('stock_df_total_4.csv'):
            stock_df.to_csv('stock_df_total_4.csv', index=False, mode='w')
        else:
            stock_df.to_csv('stock_df_total_4.csv', index=False, mode='a', header=False)

     

     

    2. 추가된 라이브러리와 외부변수 설정을 확인해보자!

    라이브러리 불러오기!
    import sys
    
    # 외부 변수 설정해주기 sys.argv[1], sys.argv[2] : 외부변수 1,2 설정 
    start_day = sys.argv[1]
    end_day = sys.argv[2]
    
    # 기존 문자열 타입이였으니 설정도 문자열로 설정해주도록 하자.
    start_day = str(start_day)
    end_day = str(end_day)
    
    # 기존 날짜설정 문자열타입
    # start_day = "20111201"
    # end_day = "20211201"

     

    3. 이제 파이썬을 실행시킬때 어떻게 설정하는지 눈으로 확인하자.

    설명보다는 눈으로 확인하는게 확실하다.

    start_day = sys.argv[1] 외부변수 1

    end_day = sys.argv[2] 외부변수 2

    이처럼 파일을 실행 시켜줄떄 외부변수를 뒤에 20211103 20211202를 붙여주어 날짜설정을 Liunx에서 해주고 실행 시켜주자.

    python3 파일명 외부변수
    예) python3 stock_df.py 20211103 20211202

     

     

     

    4. 파일 확인

    이제 CSV파일을 주피터에서 불러와 확인해보자.  20211103 ~ 20211202 날짜의 데이터가 잘 수집되어 있는것을 확인했다. 

    이로써 외부변수를 설정해주어 주피터에서 수시로 들어가 설정을 안해주어도 Linux에서 바로 날짜 설정이 가능하게 되었다. 원하는 날짜에 원하는 주식데이터를!! 얼마나 편리한가 좀더 나아가 더 많은 외부변수 설정도 해보고 블로깅 해보도록 하겠다.   

    댓글

Designed by Tistory.