mysql에 company table 생성
drop table company;
create table company (
회사명 varchar(20) not null,
종목코드 varchar(8) not null,
업종 varchar(50),
주요제품 varchar(100),
상장일 varchar(20),
결산월 varchar(5),
대표자명 varchar(50),
홈페이지 varchar(50),
지역 varchar(50),
primary key(종목코드)
);
kind에서 상장 기업들의 정보를 크로링해서 mysql에 insert
def load_mysql_company():
def get_stocks(market=None):
market_type = ''
if market == 'kospi':
market_type = '&marketType=stockMkt'
elif market == 'kosdaq':
market_type = '&marketType=kosdaqMkt'
elif market == 'konex':
market_type = '&marketType=konexMkt'
url = 'http://kind.krx.co.kr/corpgeneral/corpList.do?currentPageSize=5000&pageIndex=1&method=download&searchType=13{market_type}'.format(
market_type=market_type)
list_df_stocks = pd.read_html(url, header=0, converters={'종목코드': lambda x: str(x)})
df_stocks = list_df_stocks[0]
return df_stocks
kp = get_stocks("kospi")
kd = get_stocks("kosdaq")
df_stock = pd.concat([kp, kd])
# print(max(df_stock["대표자명"].apply(lambda x: len(x))))
#중복제거
df_stock.drop_duplicates(['회사명'], keep='first', inplace=True)
engine = create_engine("mysql+pymysql://root:" + "비번" + "@localhost/stock", encoding='utf-8')
df_stock.to_sql(name='company', con=engine, if_exists='append', index=False)
'sql' 카테고리의 다른 글
mysql 터미널 접속 및 사용법 (0) | 2022.07.19 |
---|---|
주식 데이터로 sql 연습 (section 2) (0) | 2022.07.17 |
주식 데이터로 sql 연습 (section 1) (0) | 2022.07.13 |
python 주가 데이터 mysql에 insert하기 (0) | 2022.07.13 |
파이썬 dataframe mysql insert하기 (0) | 2022.07.13 |