인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

용민김님의 프로필 이미지
용민김

작성한 질문수

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

파이썬 & 데이터베이스 연동 - MySQL & MariaDB

과제 질문드립니다

작성

·

1K

0

conn.cursor().execute("""CREATE TABLE IF NOT EXISTS users(

id bigint(20) NOT NULL,

name varchar(50),

username varchar(30),

index1 bigint(20),

index2 double(20, 3),

index3 double(20, 3),

index4 double(20, 3),

location varchar(50),

type varchar(30),

per float(10, 3),

regdate varchar(30),

PRIMARY KEY(id)

)""")

try:

with conn.cursor() as c:

for i in (exl['id']-1) :

user = (int(exl.ix[i]['id']), exl.ix[i]['name'], exl.ix[i]['username'], int(exl.ix[i]['index1']), float(exl.ix[i]['index2']),

float(exl.ix[i]['index3']), float(exl.ix[i]['index4']), exl.ix[i]['location'], exl.ix[i]['type'],float(exl.ix[i]['per']), nowtime)

c.execute("INSERT INTO users(id, name, username, index1, index2, index3, index4, location, type, per, regdate) VALUES \

(%s, %s, %s, %s, %s, %s, %s, %s, %s ,%s ,%s)" , user)

c.commit()

finally:

conn.close()

과제중에 excel파일을 역직렬화해서 Mysql sever의 데이터베이스 테이블에 INSERT 하는데

직렬화된 데이터를 그냥 튜플형식으로 넣으면 'numpy.int64' object has no attribute 'translate' 에러가 떠서, 위 코드처럼 형변환을 수동적으로 해서 넣었더니 pymysql.err.InternalError: (1054, "Unknown column 'nan' in 'field list'") 에러가 뜨네요.

문제가 뭘까요?

답변 1

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

안녕하세요.

1054, "Unknown column ‘nan’ in ‘field list’

콘솔 내용을 확인해보시고 검색해보시면 됩니다.

https://stackoverflow.com/questions/13259728/error-when-trying-to-insert-values-into-mysql-table-with-python

참고해보시면 컬럼명 name에 nan 값이 들어가서 데이터베이스 컬럼명을 참조 할 수 없어서 나오는 에러입니다.

구글에서 python sql query debugging 등으로 검색해보시면 직접 실행되는 쿼리문을 콘솔로 확인해서

해결 쿼리문에 제대로 작동하는지 부터 확인하셔야 될 것같습니다.

용민김님의 프로필 이미지
용민김

작성한 질문수

질문하기