import mysql.connector
conn = mysql.connector.connect(
host = "database-1.cyxirxsmjvie.ap-northeast-1.rds.amazonaws.com",
port = 3306,
user = "admin",
password = "********",
database = "zerobase"
)
cursor = conn.cursor(buffered=True)
sql = "INSERT INTO police_station VALUES (%s, %s)"
commit()
은 데이터베이스에 적용하기 위한 명령 for i, row in df.iterrows():
cursor.execute(sql,tuple(row))
print(tuple(row))
conn.commit()
cursor.execute("SELECT * FROM police_station")
result = cursor.fetchall()
for row in result:
print(row)
df = pd.DataFrame(result)
df
❗ csv 한글이 깨지는 경우, encoding값을 'euc-kr'로 설정
# 예시
df = pd.read_csv('2020_crime.csv', encoding='euc-kr')
df
▶ crime_status 테이블에 2020_crime.csv데이터 입력
import mysql.connector
conn = mysql.connector.connect(
host = "database-1.cyxirxsmjvie.ap-northeast-1.rds.amazonaws.com",
port = 3306,
user = "admin",
password = "********",
database = "zerobase"
)
import pandas as pd
df = pd.read_csv('2020_crime.csv', encoding='euc-kr')
df.head()
구분 | 죄종 | 발생검거 | 건수 | |
---|---|---|---|---|
0 | 중부 | 살인 | 발생 | 1 |
1 | 중부 | 살인 | 검거 | 1 |
2 | 중부 | 강도 | 발생 | 3 |
3 | 중부 | 강도 | 검거 | 4 |
4 | 중부 | 강간,추행 | 발생 | 113 |
▶ INSERT쿼리 작성
❗ '2020'은 데이터엔 없어서 고정으로 넣어줌
#컬럼 갯수만큼 %s
sql = """INSERT INTO crime_status VALUES ("2020", %s, %s, %s, %s)"""
cursor = conn.cursor(buffered=True)
▶ 데이터를 crime_status 테이블에 insert
for i,row in df.iterrows():
cursor.execute(sql, tuple(row))
print(tuple(row))
conn.commit()
▶ crime_status 테이블 데이터 조회
cursor.execute("SELECT * FROM crime_status")
result = cursor.fetchall()
for row in result:
print(row)
▶ Pandas로 변환해서 확인