반응형
1. 사용할 라이브러리 임포트
import pandas as pd
import pymysql
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()
2. 데이터베이스 연동
conn = pymysql.connect(host='호스트주소', user = '사용자이름', password='wktfd76251!', db = '데이터베이스이름',charset = 'utf8')
curs = conn.cursor(pymysql.cursors.DictCursor)
3. 테이블 생성
sql = '''CREATE TABLE 테이블이름(
col_vriable1 int(15) not null comment '표기될열이름1' primary key,
col_vriable2 varchar(500) null comment '표기될열이름2',
col_vriable3 varchar(500) null comment '표기될열이름3'
)
'''
curs.execute(sql)
4. csv파일 읽기
stores_info = pd.read_csv('파일경로\파일이름.csv')
이때 stores_info를 dataframe이라고 한다.
5. 데이터프레임으로부터 데이터 읽어와서 데이터베이스에 저장
for index, row in 데이터프레임의이름.iterrows():
tu = ( row.표기될열이름1, row.표기될열이름2,row.표기될열이름3)
curs.execute("""INSERT IGNORE INTO Store_Seoul_Info (col_variable1, col_variable2, col_variable3) VALUES (%s,%s,%s)"""
,tu)
※주의할 점
(1) execute함수는 인자를 3개까지만 받으므로 추가하고자 하는 열의 갯수가 여러개인 경우 반드시 튜플로 처리 해 주어야 한다.
(2) 표기될 열의 이름과 열을 지칭하는 변수가 각각 어디에 들어가는지 주의.
(3) VALUES(?,?,?)가 아닌 VALUES(%s,%s,%s)를 사용한다.
6. 저장 및 데이터베이스 연결 종료
# 결과 저장 및 데이터베이스 종료
conn.commit()
conn.close()
반응형