최근 airflow로 batch작업을 이관 하던 중 dataframe을 DB로 바로 저장할 수 있는 라이브러리를 찾아서 소개시켜드립니다.
insert문을 실행하지 않고 python으로 생성한 dataframe을 DB로 저장 시킵니다.
from sqlalchemy import create_engine
import pandas as pd
#test.csv를 dataframe형태로 읽기
df = pd.read_csv('test.csv')
#mysql+pymysql은 mairaDB에 대한 sqlalchemy의 드라이버를 의미합니다.
#SQLite 데이터베이스는 mysql+pymysql대신 sqlite를 적어주시면 됩니다.
connection_string = 'mysql+pymysql://유저명:password@localhost:3306/database'
#mariadb에 연결
engine = create_engine(connection_string)
#dataframe을 mairadb에 저장
#if_exists는 테이블이 이미 존재하는 경우 어떻게 처리할지에 대한 매개변수입니다. replace를 입력하여 기존 테이블을 대체할 수 있습니다.
df.to_sql("table명", engine, index = False, if_exists="replace")
python을 사용하시는 분들은 dataframe을 이용해 편리하게 DB에 데이터를 적재할 수 있습니다.
'프로그래밍언어 > Python' 카테고리의 다른 글
OSError: [WinError 193] %1은(는) 올바른 Win32 응용 프로그램이 아닙니다 에러 해결 방법 (0) | 2024.08.02 |
---|---|
[Python] chromedriver 버전 관리 (0) | 2023.11.15 |
zip()함수 활용하여 반복문에서 리스트 하나이상 활용하기 (0) | 2023.06.09 |
[Python]Counter 함수를 사용한 키워드 등장 빈도 확인 (0) | 2023.03.13 |
[Python]bigram (0) | 2023.03.10 |