728x90
SMALL
python을 이용한 CSV to MYSQL
- 주의점
- CSV값은 str형임으로 DB의 각 column을 str형으로 두거나 데이터 형변환 필요
- 형변환 방법에 대해선 좀 더 공부해봐야 할듯
- Column 이름 맞춰주기
- csv의 1번 row에 column name 제거해주기
- CSV값은 str형임으로 DB의 각 column을 str형으로 두거나 데이터 형변환 필요
- code
import scipy.io
import csv
import pymysql
connect = pymysql.connect(host='127.0.0.1', user='root', password='passwd',
db='test', charset='utf8')
curs = connect.cursor()
connect.commit()
f = open('urllist_2feature.csv', 'r')
csvReader = csv.reader(f)
for row in csvReader:
url = (row[0])
checkFormTag = (row[1])
textFieldInPopup = (row[2])
label = (row[3])
print(url)
print(checkFormTag)
print(textFieldInPopup)
print(label)
sql = """insert into url (url, checkFormTag, textFieldInPopup, label) values (%s, %s, %s, %s)"""
#sql문 작성
curs.execute(sql, (url, checkFormTag, textFieldInPopup, label))
#db의 변화 저장
connnect.commit()
f.close()
connect.close()
- error
pymysql.err.DataError: (1406, "Data too long for column 'url' at row 1")
해결법
- mysql에서 global.sql mode ''으로 설정
mysql> SET @@global.sql_mode= ‘’;
LIST
'언어 > python' 카테고리의 다른 글
python Numpy (0) | 2020.07.15 |
---|---|
python 반복문 (0) | 2020.07.15 |
List 자료형 (0) | 2020.07.15 |
python 자료형(문자열) (0) | 2020.07.15 |
python 자료형 (숫자형) (0) | 2020.07.15 |