본문 바로가기

파이썬으로 퀀트 프로그램 만들기 project

국내 주식 티커 데이터 크롤링하기_2 - MySQL로 데이터 옮기기

728x90

먼저 mysql에 데이터를 옮겨둘 데이터베이스와 테이블을 만듭시다.

create database stock_db;

use stock_db;

create table  kor_ticker
(
	종목코드 varchar(6) not null,
    종목명 varchar(20),
    시장구분 varchar(6),
    종가 float,
    시가총액 float,
    기준일 date,
    EPS float,
    선행EPS float,
    BPS float,
    주당배당금 float,
    종목구분 varchar(5),
    primary key(종목코드, 기준일)
);

 

이제 저번 포스트에서 만들었던 데이터를 파이썬을 통해 옮겨봅시다.

#mysql로 데이터 옮기기
import pymysql

con = pymysql.connect(user='root',
                       passwd = '8019',
                       host = '127.0.0.1',
                       db = 'stock_db',
                       charset = 'utf8')

mycursor = con.cursor()
query = f"""
    insert into kor_ticker (종목코드, 종목명, 시장구분, 종가, 시가총액, 기준일, EPS, 선행EPS, BPS, 주당배당금,종목구분)
    values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) as new
    on duplicate key update
    종목명=new.종목명, 시장구분=new.시장구분, 종가=new.종가, 시가총액=new.시가총액, EPS=new.EPS, 선행EPS=new.선행EPS,
    BPS=new.BPS, 주당배당금=new.주당배당금, 종목구분=new.종목구분;
"""
#upsert 쿼리 작성

args = kor_ticker.values.tolist()
mycursor.executemany(query, args)
con.commit()

con.close()

 

mysql로 돌아가서 확인해 보면 잘 저장되어있는 것을 확인해 보실 수 있습니다.