Python CSV 파일 DB에 등록 방법 샘플

CSV 파일을 DB에 등록하는 샘플을 보겠습니다.

CSV 파일을 읽어오기 읽어오고 DB에 저장하기 위해 pandas를 사용하겠습니다.

DB와 연동하기 위해서는 pyodbc를 사용하겠습니다.

CSV 파일 구조는 첫 번째 행은 헤더로 되어 있고 데이터 구분은 콤마(,)로 되어 있으면 됩니다.

샘플 소스를 바로 보겠습니다.

import pymssql
import pandas as pd
import pyodbc

df = pd.read_csv('C:/파일경로/CSV 파일.csv')

server = '서버 주소'
database = '데이터 베이스명'
username = '유저 이름'
password = '패스워드'

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()

print("CSV INSERT")

for index, row in df.iterrows():
    cursor.execute("INSERT INTO 데이터 베이스명.테이블 이름 (컬럼명1,컬럼명2,컬럼명3) values(?,?,?)", row.헤더1, row.헤더2, row.헤더3)
cnxn.commit()
cursor.close()

print("OK")

 

판단스 read_csv()를 사용해 CSV 데이터를 읽어왔습니다.

DB는 SQL Server를 예로 사용했으며, DB 연결을 pyodbc를 이용했습니다.

CSV 데이터는 Dataframe형태로 저장 했기 때문에 for문을 사용해 전체 데이터를 한 줄씩 INSERT 하게됩니다.

등록이 끝나면 commit()으로 저장을 합니다.

모든 처리가 끝나면 close()로 DB와의 연결을 끊어줍니다.

대량의 데이터를 DB에 넣어야 하는 경우 CSV 파일 형태로 데이터를 추출해 DB에 등록하는 경우가 많으니

간단하게라도 알아두는 것이 좋습니다.

댓글