반응형
1. 시험환경
˙ 윈도우 10
˙ 파이썬 3.10
˙ mySQL 8.0.23 (x32)
2. 목적
˙ 파이썬 csv 라이브러리를 이용하여 csv 파일 데이터를 추출한다.
˙ 추출한 데이터를 pymysql 라이브러리를 이용하여 mysql DB에 저장한다.
3. 적용
① csv 데이터 파일 및 구조이다.
② mysql 스키마 및 테이블을 생성한다.
- DB 스키마 : sample
- 테이블명 : example
1
2
3
4
5
6
7
|
CREATE TABLE `example` (
`nation` varchar(32) NOT NULL,
`language` varchar(32) DEFAULT NULL,
`money` varchar(32) DEFAULT NULL,
`population` int DEFAULT NULL,
PRIMARY KEY (`nation`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
|
cs |
③ pymysql 파이썬 라이브러리를 이용하여 mysql DB 연결 및 종료 코드를 작성한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import sys
import pymysql
def mysqlDbConnection(u, pw, h, p, d):
try:
conn = pymysql.connect(user = u, password = pw, host = h, port = p, database = d)
print("DB Connection Success: {0}".format(h))
except pymysql.Error as e:
print("Error connecting to MySQL Platform : {}".format(e))
sys.exit(1)
return conn
def mysqlDbClose(_dbConn):
try:
_dbConn.close()
print("DB Close Success")
except pymysql.Error as e:
print("Error closing from MySQL Platform")
sys.exit(1)
|
cs |
④ csv 파이썬 라이브러리를 이용하여 파일 데이터를 추출하고, mysql DB에 저장하는 코드를 작성한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import csv
import mysqlDbQuery
dbConn = mysqlDbQuery.mysqlDbConnection('root', '1q2w3e', '127.0.0.1', 3306, 'sample')
cursor = dbConn.cursor()
file = open('./sample.csv','r', encoding='UTF8')
fReader = csv.reader(file)
for line in fReader:
query = "INSERT INTO example VALUES ('{0}', '{1}', '{2}', {3})".format(line[0], line[1], line[2], line[3])
cursor.execute(query)
file.close()
dbConn.commit()
cursor.close()
mysqlDbQuery.mysqlDbClose(dbConn)
|
cs |
4. 결과
˙ 프로그램을 실행하여 csv 추출 데이터가 DB에 저장되었는지 확인한다.
˙ pandas와 달리 title까지 데이터로 추출되는 것에 주의한다.
※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※
반응형
'파이썬' 카테고리의 다른 글
pandas.read_excel()를 이용한 xlsx(엑셀) 파일 load 코드 (0) | 2022.07.04 |
---|---|
pymysql 라이브러리 설정 및 사용법 (0) | 2022.02.21 |
폴더에 저장된 모든 텍스트 파일의 데이터 추출 코드 (0) | 2022.02.21 |
엑셀 파일(xlsx) 데이터를 추출하여 mariaDB에 저장 (1) | 2022.02.21 |
pandas 라이브러리를 이용하여 xlsx(엑셀 파일) 데이터 추출 (0) | 2022.02.21 |