반응형
1. 시험환경
˙ 윈도우 10
˙ 파이썬 3.8
˙ MS Office Pro 2019
˙ MariaDB 10.1 (x64)
2. 목적
˙ pandas 라이브러리를 이용하여 xlsx(엑셀 파일)을 읽어온다.
˙ pandas 라이브러리를 이용하여 읽어온 엑셀 파일의 특정 값(열,행)에 접근한다.
˙ 읽어온 엑셀 데이터를 MariaDB에 저장한다.
3. 적용
① pandas로 읽어 올 엑셀 파일(xlsx)을 준비한다.
- 첫번째 행(row) : title
- 두번째 행(row) 이후 : 데이터
② 데이터를 저장한 DB 테이블을 생성한다.
- DB 스키마 : sample
- 테이블명 : example
1
2
3
4
5
6
7
8
9
|
CREATE TABLE `example` (
`nation` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_bin',
`language` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_bin',
`money` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_bin',
`population` BIGINT(20) NULL DEFAULT NULL
)
COLLATE='utf8mb4_bin'
ENGINE=InnoDB;
|
cs |
③ MariaDB Connection 생성 및 종료 코드를 작성한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import sys
import mariadb
def mariaDbConnection(u, pw, h, p, d):
try:
conn = mariadb.connect(user = u, password = pw, host = h, port = p, database = d)
print("DB Connection Success: {0}".format(h))
except mariadb.Error as e:
print("Error connecting to MariaDB Platform : {}".format(e))
sys.exit(1)
return conn
def mariaDbClose(c):
try:
c.close()
print("DB Close Success")
except mariadb.Error as e:
print("Error closing from MariaDB Platform")
sys.exit(1)
|
cs |
④ 엑셀 파일(xlsx)을 읽어서 DB에 저장하는 코드를 작성한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import mariadbQuery
import pandas as pd
dbConn = mariadbQuery.mariaDbConnection('root', '1q2w3e', "127.0.0.1", 3307, 'sample')
cur = dbConn.cursor()
readData = pd.read_excel("./sample.xlsx")
for i in readData.index:
query = "INSERT INTO example VALUES ('{0}', '{1}', '{2}', {3})".format(readData['Nation'][i], readData['Language'][i], readData['Money'][i], int(readData['Population'][i]))
cur.execute(query)
dbConn.commit()
mariadbQuery.mariaDbClose(dbConn)
|
cs |
4. 결과
˙ 프로그램에 의해서 엑셀 데이터가 DB에 저장되었는지 확인한다.
※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※
반응형
'파이썬' 카테고리의 다른 글
csv 파일 데이터를 추출하여 mysql DB에 저장 (0) | 2022.02.21 |
---|---|
폴더에 저장된 모든 텍스트 파일의 데이터 추출 코드 (0) | 2022.02.21 |
pandas 라이브러리를 이용하여 xlsx(엑셀 파일) 데이터 추출 (0) | 2022.02.21 |
mariadb 라이브러리 설정 및 사용법 (0) | 2022.02.21 |
configParser 라이브러리 설정 및 사용법 (0) | 2022.02.21 |