Inflearn Community Q&A
fdr.StockListing('KRX') 이슈
Written on
·
680
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
전체 종목을 불러올때 fdr.StockListing('KRX') 으로 받아오는데.. 교수님이 강의해주신 카테고리와 다르게 나오고 있습니다.
혹시나 해서 FinanceDataReader 사용자 안내 가서 봤는데.. 해당 부분에서는 교수님 설명그대로 나오고 있습니다...
FinanceDataReader에서 문제가 발생한건가요?

웹-크롤링pythonpandasnumpyplotlyseaborn웹 스크래핑matplotlib
Answer 2
0
0
todaycode
Instructor
안녕하세요.
최근 FinanceDataReader 에도 업데이트가 있었고 한국거래소에서 보내주는 데이터에 Market 이 누락되어 있습니다. 일단 아래 코드로 기존처럼 상장종목을 불러올 수 있지만 Market 은 제외하고 봐주세요!
FinanceDataReader 에서 최근 investing.com 에서 불러오는 종목 정보에 대한 이슈 때문에 yahoo finance 로 불러오는 위치가 변경되기도 했습니다. 대대적인 업데이트와 함께 한국거래소 제공데이터도 조금 달라지다보니 혼란을 드리게 되어 죄송합니다. 추가 업데이트가 있으면 다시 답글을 남기겠습니다.
아래의 코드를 사용하면 한국거래소의 상장종목을 바로 받아올 수 있습니다. 코드의 출처는 FinanceDataReader 내부 소스코드 입니다.
import pandas as pd
url = 'http://kind.krx.co.kr/corpgeneral/corpList.do?method=download&searchType=13'
df_listing = pd.read_html(url, header=0, flavor='bs4', encoding='EUC-KR')[0]
cols_ren = {'회사명':'Name', '종목코드':'Symbol', '업종':'Sector', '주요제품':'Industry',
'상장일':'ListingDate', '결산월':'SettleMonth', '대표자명':'Representative',
'홈페이지':'HomePage', '지역':'Region', }
df_listing = df_listing.rename(columns = cols_ren)
df_listing['Symbol'] = df_listing['Symbol'].apply(lambda x: '{:06d}'.format(x))
df_listing['ListingDate'] = pd.to_datetime(df_listing['ListingDate'])
df_listing




