파이썬 'numpy.int64' object has no attribute 'translate' 해결법

728x90

에러 해결 한줄요약: 파이썬에서 conn 구문 전에 아래 코드 넣어주면 해결

 

import pandas as pd
from pandas import DataFrame
import FinanceDataReader as fdr
import pymysql
import numpy as np

#이 4개 구문
pymysql.converters.encoders[np.float64] = pymysql.converters.escape_float
pymysql.converters.encoders[np.int64] = pymysql.converters.escape_float
pymysql.converters.conversions = pymysql.converters.encoders.copy()
pymysql.converters.conversions.update(pymysql.converters.decoders)


conn = pymysql.connect(host='localhost', port=3307 , user='root', passwd='whdgh100', db='stock', charset='utf8')
cur = conn.cursor()

 

오류 발생 내용:

 

파이썬을 통해 DB랑 연결 중에 sql에서 받은 데이터의 값을 convert 할 수 없다는 오류발생. 구글링을 하던 도중 pymysql에서 직접 convert를 할 수 있다는 걸 알게됨. 위와 같이 conn 전에 넣어주면 해결

 

참조:

https://stackoverflow.com/questions/46205532/numpy-float64-object-has-no-attribute-translate-inserting-value-to-mysql-in

 

'numpy.float64' object has no attribute 'translate' Inserting value to Mysql in Python

import dataset db = dataset.connect(....) table = db[...] When I try to insert some value into Mysql table, this error occurred. Sample Value I am inserting to the table: print("Buy", ticker, p...

stackoverflow.com

 

728x90