반응형
파이선을 활용한 우편번호 검색기 - 강사님 Version
ZipSearch.migrationEx01
file = open('zipcode_seoul_utf8_type2.csv', 'r', encoding='utf8')
line = file.readline()
while line:
lines = line.split(',')
# statement처럼
print("insert into zipcode values(%s, '%s', '%s', '%s', '%s', '%s', '%s')" %\
(lines[6], lines[0], lines[1], lines[2], lines[3], lines[4], lines[5]))
line = file.readline()
file.close()
ncloud mariadb에서 sample이라는 database를 만든다.
MariaDB [(none)]> create database sample;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> use sample;
Database changed
MariaDB [sample]> create table testtbl (col1 varchar(10));
Query OK, 0 rows affected (0.00 sec)
MariaDB [sample]> insert into testtbl values ('한글');
Query OK, 1 row affected (0.00 sec)
MariaDB [sample]> select * from testtbl;
+--------+
| col1 |
+--------+
| 한글 |
+--------+
1 row in set (0.00 sec)
putty로 ncloud 공인 ip 주소로 아래와 같이 실행이 되는지 확인해 보자
이게 되면 똑같이 mysql workbench에서 설정해주면 된다.
'''
Created on 2018. 9. 19.
@author: kitcoop
'''
import MySQLdb
config = {
'host': '106.10.58.158',
'user': 'root',
'password': '!123456!',
'database': 'sample',
'charset': 'utf8',
'use_unicode': True
}
try:
conn = MySQLdb.connect(**config)
cursor = conn.cursor()
# 파일 -> insert
# 한 줄씩
file = open('zipcode_seoul_utf8_type2.csv', 'r', encoding='utf8')
line = file.readline()
while line:
lines = line.split(',')
# statement처럼
# print("insert into zipcode values(%s, '%s', '%s', '%s', '%s', '%s', '%s')" %\
# (lines[6], lines[0], lines[1], lines[2], lines[3], lines[4], lines[5]))
sql = ("insert into zipcode values('%s', '%s', '%s', '%s', '%s', '%s', %s)" %\
(lines[0], lines[1], lines[2], lines[3], lines[4], lines[5], lines[6]))
cursor.execute(sql)
line = file.readline()
conn.commit()
cursor.close()
file.close()
except MySQLdb.Error as err:
print('에러 : ' + err)
else:
conn.close()
print('전송완료')
ZipSearch.zipcodesearchEx01
'''
Created on 2018. 9. 19.
@author: kitcoop
'''
import MySQLdb
config = {
'host': '106.10.58.158',
'user': 'root',
'password': '!123456!',
'database': 'sample',
'charset': 'utf8',
'use_unicode': True
}
dong = input('동을 입력해주세요 : ')
if (len(dong) <= 1):
print('동이름은 한 자 이상 입력하셔야 합니다.')
exit()
else:
try:
conn = MySQLdb.connect(**config)
cursor = conn.cursor()
# statement 기법
# sql = ("select zipcode, sido, gugun, dong, ri, bunji from zipcode where dong like '" + dong + "%'")
# prestatement 기법
sql = ("select zipcode, sido, gugun, dong, ri, bunji from zipcode where dong like %s")
sql_data = ([dong + '%'])
cursor.execute(sql, sql_data)
for(zipcode, sido, gugun, dong, ri, bunji) in cursor:
print('[', zipcode, ']', sido, gugun, dong, ri, bunji)
cursor.close()
except MySQLdb.Error as err:
print('에러 : ' + err)
else:
conn.close()
ncloud 서버에 python이 2버전이 기본으로 설치 되어 있다. 3버전을 설치해보자.
http://depository.tistory.com/2
yum install -y https://centos7.iuscommunity.org/ius-release.rpm
yum search python36
yum install -y python36u python36u-libs python36u-devel python36u-pip
python3.6
which python3.6
반응형
'Web & Mobile > Python' 카테고리의 다른 글
Lecture 90 - Python(10) xml, html, json 처리법, 정규식 사용법 (0) | 2019.08.06 |
---|---|
Lecture 89 - Python(9) url 관련 함수들, 데이터 크롤링, geocoding을 이용한 위치 검색 (0) | 2019.08.05 |
Lecture 86 - Python(7) 파이썬에 데이터베이스 연결 (0) | 2019.07.30 |
Lecture 85 - Python(6) 패키지, 내시스템정보확인, 시간, 날짜, webbrowser (0) | 2019.07.26 |
Lecture 84 - Python(5) 클래스와 객체, 모듈 (0) | 2019.07.25 |
댓글