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 |