본문 바로가기

파이썬/파이썬 예제

파이썬(Python)을 활용하여 CSV 파일을 INSERT 수행

728x90
반응형

# 작업 구성도

1. 파이썬 코드를 활용하여 CSV 파일을 읽는다.

import scipy.io
import csv
import pymysql

# 로컬 mysql과 커넥션 수행
conn = pymysql.connect(host='127.0.0.1', user='root', password='DB 비밀번호', db='world', charset='utf8')
curs = conn.cursor()
conn.commit()

# CSV 파일 경로...
f = open(r'C:\Users\may9noy\Desktop\retail_sample.csv')
csvReader = csv.reader(f)

# 컬럼 매핑
for row in csvReader:
    InvoiceNo = (row[0])
    StockCode = (row[1])
    Description = (row[2])
    Quantity = (row[3])
    InvoiceDate = (row[4])
    UnitPrice = (row[5])
    CustomerID = (row[6])
    Country = (row[7])
    print(InvoiceNo)
    print(StockCode)
    print(Description)
    print(Quantity)
    print(InvoiceDate)
    print(UnitPrice)
    print(CustomerID)
    print(Country)
    sql = """insert into online_retail (InvoiceNo, StockCode, Description, Quantity, InvoiceDate, UnitPrice, CustomerID, 
    Country) values (%s, %s, %s, %s, %s, %s, %s, %s) """
    curs.execute(sql, (InvoiceNo, StockCode, Description, Quantity, InvoiceDate, UnitPrice, CustomerID, Country))

# DB의 변화 저장
conn.commit()
f.close()
conn.close()

2. CSV 파일은 Online_Retail.csv 라는 파일을 사용 한다.

- CSV 파일의 row 수는 541,911건수 이다.
- CSV 파일은 오픈데이터 이기 때문에 구글에서 검색하고 사용을 할 수 있다.
- 캐글에서 online retail.xlsx 검색을 하면 검색 후 사용이 가능하다.

3. MySQL을 세팅한다.

- MySQL을 설치한다.

2022.01.17 - [DB] - Local 환경에 My-sql 설치 (windows 10)

 

Local 환경에 My-sql 설치 (windows 10)

# Local 환경에 My-sql 설치 후 데이터를 Insert 하는 작업 1. Mysql 다운로드 https://dev.mysql.com/downloads/installer/ MySQL :: Download MySQL Installer Select Operating System: Select Operating Syste..

may9noy.tistory.com

- MySQL DB에서 테이블을 생성 한다.

CREATE TABLE `world`.`online_retail` (
  `InvoiceNo` VARCHAR(200) NULL,
  `StockCode` VARCHAR(200) NULL,
  `Description` VARCHAR(200) NULL,
  `Quantity` VARCHAR(200) NULL,
  `InvoiceDate` VARCHAR(200) NULL,
  `UnitPrice` VARCHAR(200) NULL,
  `CustomerID` VARCHAR(200) NULL,
  `Country` VARCHAR(200) NULL);

- MySQL 접속하여 쿼리를 수행하면 아래와 같이 조회를 할 수 있다.
- 최초 조회 시에는 아무것도 조회가 되지 않는다.
- 위의 파이썬 코드를 활용하여 데이터를 적재 후 아래의 SELECT 쿼리를 실행하면 아래와 같이 데이터가 적재되어 있는 상태를 볼 수 있다.

SELECT * FROM world.online_retail;
SELECT COUNT(*) FROM world.online_retail_01 
WHERE Country = "United Kingdom";

- 파이썬 코드를 사용하여 .CSV 파일을 MySQL에 INSERT 하는 작업...

- 끝 -

728x90
반응형