python2 連線mysql獲取值出現的錯誤TypeError: unsupported operand type(s) for /: 'float' and 'NoneType'
阿新 • • 發佈:2018-12-17
我這是一個獲取實時匯率的方法,剛開始寫法如下就是一直會報一個數據型別錯誤
獲取匯率
def get_rate(self, time): # Where USD is the base currency you want to use url = 'https://v3.exchangerate-api.com/bulk/fa192ccf2d553fe2b4005125/USD' # Making our request try: sql = "SELECT rate, savetime from JD_rate" self.cur_test.execute(sql) rate= self.cur_test.fetchone()[0] savetime = self.cur_test.fetchone()[1].encode("utf-8")[:11] if savetime != time: response = requests.get(url) rate = response.json()['rates']['IDR'] sql1 = "UPDATE JD_rate set rate='%s', savetime='%s' WHERE id = 1" % (rate, time) self.cur_test.execute(sql1) self.coon_test.commit() return rate except Exception, ex: traceback.print_exc() print ex, "get_rate"
改正後:(主要是不能在遊標獲取值後直接進行元組的取值,必須先進行儲存定義)
獲取匯率
def get_rate(self, time): # Where USD is the base currency you want to use url = 'https://v3.exchangerate-api.com/bulk/fa192ccf2d553fe2b4005125/USD' # Making our request try: sql = "SELECT rate, savetime from JD_rate" self.cur_test.execute(sql) result_a = self.cur_test.fetchone()[0] rate = result_a[0] savetime = result_a[1].encode("utf-8")[:11] if savetime != time: response = requests.get(url) rate = response.json()['rates']['IDR'] sql1 = "UPDATE JD_rate set rate='%s', savetime='%s' WHERE id = 1" % (rate, time) self.cur_test.execute(sql1) self.coon_test.commit() return rate except Exception, ex: traceback.print_exc() print ex, "get_rate"