320x100
간단할 줄 알았는데, 생각외로 약간 헤멨다.
타이핑해서 데이터 깔짝 넣는건 괜찮은데, 뭐 중요한건 파일화 되어있는 대용량의 파일을 핸들링하는거니깐.
import pandas as pd
df = pd.read_csv('oil_mine.csv', encoding='utf-8', index_col=0)
df.tail(2)
df.info()
# csv 데이터를 데이터베이스에 넣기 전에 테이블 스키마 만들어 주기
import mysql.connector
conn = mysql.connector.connect(
host = '엔드포인트',
port = 3306,
user = '계정명',
password = '비밀번호',
database = '접근원하는 데이터베이스명'
)
# 테이블 생성
sql = 'create table oil_datas(\
name varchar(64), address varchar(128),\
brand varchar(32), is_self char(2),\
gasoline int, diesel int, car_wash char(2),\
charging_station char(2), car_maintenance char(2),\
convinience_store char(2), 24_hour char(2),\
gu varchar(8), lat float, lng float)'
cursor = conn.cursor(buffered=True)
cursor.execute(sql)
# 생성된 테이블에 값 넣어주기
# 미리 df.info()로 확인했다. 컬럼값이 14개다.
sql = 'insert into oil_datas values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)'
cursor = conn.cursor(buffered=True)
for i, row in df.iterrows():
cursor.execute(sql, tuple(row))
print(tuple(row))
conn.commit()
결과적으로는 터미널 통해서 해당 내용 확인했을때 정상적으로 들어왔다.
다만, 컬럼값이 14개다보니 이게 깨지듯이 보이는 한계를 극복하고 싶다.
글자를 작게하자니, 그러면 내가 못보겠다;
300x250
'개발일지 > SQL' 카테고리의 다른 글
SQL 데이터베이스 데이터 가져오기 (0) | 2022.07.08 |
---|---|
SQL 테스트 복기 (0) | 2022.07.06 |
SQL Subquery 종류 (0) | 2022.07.02 |
SQL Scalar Functions (0) | 2022.07.02 |
SQL group by 결과값 이상하다... 이건 아닌데 (0) | 2022.07.02 |