Open MiREUKim opened 2 years ago
read_sql("SELECT * FROM company_info", self.conn)
위 코드의 결과를 데이터프레임으로 출력했을 때 정상적으로 표시가 되는 것으로 봐서는
INVESTAR 데이터베이스의 company_info 테이블에는 정상적으로 데이터가 기록되어 있는 것 같습니다.
HeidiSQL에서 SELECT * FROM company_info 쿼리를 실행했던 대상 데이터베이스와 테이블이 DBUpdater 대상 데이터베이스/테이블과 동일한지 확인해 보시기 바랍니다.
안녕하세요.
책의 5.3.6절까지 진행한 코드를 실행했을 때 HeidiSQL에 company_info에 '종목코드-종목-업데이트날짜'가 기록되는데요.
아래의 코드를 실행하면 정상작동 하는데, 정작 HeidiSQL에서 SELECT * FROM company_info를 입력하면 table이 3x0으로 나오지 않습니다.
혹시나 해서 아래의 코드 상에서 read_sql("SELECT * FROM company_info", self.conn)로 읽어온 데이터프레임(df)를 print(df)로 읽어보았는데, 정상적으로 '종목코드-종목-최신업데이트날짜'가 출력됩니다.
혹시 무엇이 잘못되었을까요?
아래 전체 코드입니다.
======================================================
import pymysql import pandas as pd from datetime import datetime
class DBUpdater: """ init 생성자: MariaDB 연결 및 종목코드 딕셔너리 작성 del 소멸자: 연결 해제 read_krx_code KRX로부터 상장법인목록 파일을 읽어와서 데이터프레임으로 변환 update_comp_info 종목코드를 company_info 테이블에 업데이트한 후 딕셔너리에 저장 read_naver 네이버 금융에서 주식 시세를 읽어서 데이터프레임으로 반환 replace_into_db 네이버 금융에서 읽어온 주식 시세를 DB에 REPLACE update_daily_price KRX 상장법인의 주식 시세를 네이버로부터 읽어서 DB에 업데이트 execute_daily 실행 즉시 및 매일 오후 다섯시에 daily_price 테이블 업데이트 """ def init(self): """ 생성자: MariaDB 연결 및 종목코드 딕셔너리 작성 """ self.conn = pymysql.connect(host='localhost', user='root', password='1230', db='INVESTAR', charset='utf8')
if name == 'main': dbu = DBUpdater() dbu.update_comp_info()
dbu.execute_daily()