Pandas DataFrame을 MySQL에 저장하는 방법
📅 February 26, 2017
•⏱️1 min read
Pandas DataFrame을 MySQL에 저장하기 위해 먼저 커넥터가 필요합니다.
파이썬3에서는 MySQLdb
를 지원하지 않기 때문에, pymysql
로 불러와야 합니다.
꼭 pymysql이 아니어도 상관없지만, 사용해보면 mysql-connector
보다 빠르다는걸 체감할 수 있습니다. 먼저, 필요한 패키지를 설치해줍니다.
# python3
$ pip install pymysql
$ pip install sqlalchemy
SQLAlchemy, pymysql, MySQLdb
install_as_MySQLdb()
함수를 통해 MySQLdb와 호환 가능합니다.
이제 sqlalchemy를 통해 DB에 연결할 수 있습니다.
주소에서 root, password는 DB에 맞게 변경해야 합니다.
import pandas as pd
from sqlalchemy import create_engine
# MySQL Connector using pymysql
pymysql.install_as_MySQLdb()
import MySQLdb
engine = create_engine("mysql+mysqldb://root:"+"password"+"@localhost/db_name", encoding='utf-8')
conn = engine.connect()
MySQL에 저장하기
이제 DataFrame을 MySQL에 테이블 형태로 저장할 차례입니다.
아래와 같이 pandas의 to_sql()
함수를 사용하여 저장하면 됩니다.
df.to_sql(name=table, con=engine, if_exists='append')
python
자주 사용할 수 있으니 함수로 따로 설정해주면 편합니다.