반응형

소스가 csv이거나 python 코딩을 하다가 dataframe 데이터가 산출될 때 이것을 테이블로 만들고 싶은 경우가 있을 수 있다.

처음에 pymysql로 db 객체 만들어서 conn에 넣어주는데 계속 컬럼 개수가 안맞다는 둥 에러가 났다. 구글 검색해보니 친절하신 분께서 답을 내주셔서 쉽게 진행할 수 있었다.

# pip install pymysql
# pip install sqlalchemy
import pymysql
from sqlalchemy import create_engine

# MySQL Connector using pymysql
pymysql.install_as_MySQLdb()
import MySQLdb

# {} 안에 해당하는 정보 넣기. {}는 지우기.
engine = create_engine("mysql+mysqldb://{User}:{Password}@{Host}:3306/{Database}}", encoding='utf-8')
conn = engine.connect()

# MySQL에 저장하기
# 변수명은 이전에 만든 데이터프레임 변수명
# name은 생성할 테이블명
# index=False, 인덱스 제외
match_info.to_sql(name='pcs3as_matches_info', con=engine, if_exists='append', index=False)

미리 테이블을 만들면 exist에러가 나니 주의하자. 자료형이나 기본키같은 옵션은 만들어진 테이블에서 업데이트 해야할 것 같다.

출처: https://velog.io/@haenyy3153/DataFrame-to-MySQL

반응형

'MySQL' 카테고리의 다른 글

MySQL 외부접속 허용하기  (0) 2022.09.12
Ubuntu MySQL 설치하기  (0) 2022.09.12
mysql connection pool  (0) 2021.08.31
MySQL 디비 커넥트 지속시키기  (0) 2021.07.13

+ Recent posts