본문 바로가기

Tips/Solutions for problems

how to insert dataframe data into mysql database using pymysql(pure python3 library)

import pandas as pd

import mysql.connector from sqlalchemy import create_engine

python을 이용해서 만든 데이터를 데이터베이스(DB)에 저장을 하기위한 모듈들이다. python3 에서는 Python에서 잘 작동하던 mysqldb 가 작동하지 않는다. 그래서 예전에 만들어둔 코드들이 더 이상 작동을 하지 않아 한 동안 애를 먹었던적이 있었다.

이번 기회에 이전 데이터를 python3를 이용해서 다시금 DB에 저장해두고 활용을 해 보고자 관련글을 작성해 둔다.


아래는 python3에서 pandas dataframe 으로 만들어진 데이터를 mysql or mariadb 에  삽입하는 코드이다. 이 단순한 몇을을 찾기 위해 얼마나 헤매였단가~ 먼산 ( ~'')a  

engine = create_engine('mysql+mysqlconnector://id:pd@host:port/db', echo=False)
sdata.to_sql(name='sample_table2', con=engine, if_exists = 'append', index=False)

# host -> normally use localhost

# port -> 3306

#db -> in your mysql database, choose the name of database

#name='YOUR TABLE NAME YOU WANT TO PUT IN'

#if_exists=appeds : if exists, it just append data in your db.table