• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

과제 질문드립니다

19.02.18 17:49 작성 조회수 809

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 등으로 검색해보시면 직접 실행되는 쿼리문을 콘솔로 확인해서

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