pykrx_상장종목 일별종가

ianman99 ㅣ 2024. 2. 13. 14:04

from pykrx import stock
import pandas as pd
from pandas_datareader import data
import time

# 엑셀 파일 경로
file_path = 'ticker_data.xlsx'

# 엑셀 파일 읽기 *ticker 데이터 선행 0 존재해야함
df = pd.read_excel(file_path, usecols="B", header=None, dtype={1: str})

# B열 데이터를 리스트로 변환
ticker_list = df.iloc[:, 0].tolist()

# 조회 기간 설정
start_date = "20200101"
end_date = "20240207"

# 각 종목별 종가 데이터를 저장할 리스트 생성
closing_prices_data = []

for ticker in ticker_list:
    # 각 종목의 일별 시세 조회
    df = stock.get_market_ohlcv_by_date(start_date, end_date, ticker, adjusted=True)
    # 종가만 추출하여 리스트에 추가 (열 이름을 종목 코드로 설정, 종목 코드를 문자열로 처리)
    if '종가' in df.columns:
        closing_prices_data.append(df['종가'].rename(str(ticker)))
    else:
        # '종가' 열이 없으므로 넘어갑니다.
        print(f'{ticker} = pass')
   

# pd.concat을 사용하여 모든 종가 데이터를 하나의 DataFrame으로 결합
closing_prices_df = pd.concat(closing_prices_data, axis=1)

# CSV 파일로 저장
file_path = 'closing_prices.csv'
closing_prices_df.to_csv(file_path, encoding='utf-8-sig')

print(f"CSV 파일이 성공적으로 저장되었습니다: {file_path}")

'Python' 카테고리의 다른 글

Regression_1  (0) 2024.02.17
일별종가(시계열 데이터) 시각화  (0) 2024.02.15
네이버 파파고 API 활용  (0) 2024.02.12
데이터시각화_matplotlib  (2) 2024.02.12
주식 일별종가_(t+1, t+2, ... 형식)  (3) 2024.02.07